Skip to content

Commit 8d2d565

Browse files
committed
Drop the pk12util usage
1 parent 09d5881 commit 8d2d565

File tree

1 file changed

+13
-36
lines changed

1 file changed

+13
-36
lines changed

.github/workflows/nss-cmsutil-test.yml

Lines changed: 13 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ jobs:
209209
# Generate a test certificate and key
210210
echo "2. Generating CA and user certificates:"
211211
212-
# Step 1: Create a CA certificate
212+
# Step 1: Create a CA certificate using OpenSSL
213213
echo " Creating CA certificate..."
214214
cat > ca-openssl.conf << 'CAEOF'
215215
[req]
@@ -236,32 +236,17 @@ jobs:
236236
# Import CA certificate into NSS database
237237
certutil -A -n "TestCA" -i ca-cert.pem -t "CT,C,C" -d /nss-test/nssdb
238238
239-
# Step 2: Create user certificate signed by CA
240-
echo " Creating user certificate signed by CA..."
241-
cat > user-openssl.conf << 'USEREOF'
242-
[req]
243-
distinguished_name = req_distinguished_name
244-
prompt = no
245-
246-
[req_distinguished_name]
247-
CN = Test User
248-
O = NSS Test
249-
C = US
250-
emailAddress = test@example.com
251-
252-
[v3_user]
253-
keyUsage = critical, digitalSignature, keyEncipherment
254-
extendedKeyUsage = critical, emailProtection
255-
basicConstraints = critical, CA:false
256-
subjectKeyIdentifier = hash
257-
subjectAltName = email:test@example.com
258-
USEREOF
239+
# Step 2: Generate user key pair directly in NSS database
240+
echo " Generating user key pair in NSS database..."
241+
certutil -G -k rsa -g 2048 -d /nss-test/nssdb -f /dev/null
259242
260-
# Create user certificate request (without authority key identifier)
261-
openssl req -new -newkey rsa:2048 -keyout user-key.pem -out user-req.pem -nodes \
262-
-config user-openssl.conf
243+
# Create certificate request for the generated key
244+
echo " Creating certificate request..."
245+
certutil -R -s "CN=Test User,O=NSS Test,C=US,emailAddress=test@example.com" \
246+
-o user-req.pem -d /nss-test/nssdb -f /dev/null
263247
264-
# Create signing config with authority key identifier
248+
# Sign the certificate request with CA
249+
echo " Signing user certificate with CA..."
265250
cat > signing.conf << 'SIGNEOF'
266251
[v3_user_sign]
267252
keyUsage = critical, digitalSignature, keyEncipherment
@@ -272,20 +257,12 @@ jobs:
272257
subjectAltName = email:test@example.com
273258
SIGNEOF
274259
275-
# Sign user certificate with CA
276260
openssl x509 -req -in user-req.pem -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial \
277261
-out user-cert.pem -days 365 -extensions v3_user_sign -extfile signing.conf
278262
279-
# Convert user certificate to PKCS#12 format
280-
openssl pkcs12 -export -in user-cert.pem -inkey user-key.pem -out user-cert.p12 \
281-
-name "testcert" -passout pass:
282-
283-
# Import user certificate into NSS database
284-
echo " Importing user certificate into NSS database..."
285-
pk12util -i user-cert.p12 -d /nss-test/nssdb -W ""
286-
287-
# Set proper trust attributes
288-
certutil -M -n "testcert" -t "u,u,u" -d /nss-test/nssdb
263+
# Import the signed certificate back into NSS database
264+
echo " Importing signed user certificate..."
265+
certutil -A -n "testcert" -i user-cert.pem -t "u,u,u" -d /nss-test/nssdb
289266
290267
echo " ✓ CA and user certificates created successfully"
291268

0 commit comments

Comments
 (0)