@@ -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