@@ -174,7 +174,8 @@ Options:
174
174
175
175
-casubj=...
176
176
-caname=...
177
- Set the subject for the single use CA.
177
+ Set the subject name for the single use CA, first is a CN or
178
+ organisation, the rest are OU items.
178
179
179
180
-pkcs12=FileName
180
181
-pfx=FileName
@@ -924,12 +925,10 @@ decode_args() {
924
925
-casubj[=:]* |-caname[=:]* )
925
926
V=" ${ar#* [=:]} "
926
927
case " $V " in
927
- /* =* )
928
- CASUBJ=" ${CASUBJ%/ }${V%/ } /"
929
- ;;
928
+ * \ * ) CASUBJ=" ${CASUBJ} O=$V ${NL} " ;;
930
929
* ) if [[ " $CASUBJ " = ' ' ]]
931
- then CASUBJ=" / CN=$V / "
932
- else CASUBJ=" / OU=$V$CASUBJ "
930
+ then CASUBJ=" CN=$V ${NL} "
931
+ else CASUBJ=" ${CASUBJ} OU=$V ${NL} "
933
932
fi
934
933
;;
935
934
esac
@@ -1373,7 +1372,7 @@ apply_options() {
1373
1372
else SUBJTYPE=arg ; SUBJ=/
1374
1373
fi
1375
1374
fi
1376
- elif [[ " $SUBJTYPE " = ' ' && " $ADDDNS " != no ]]
1375
+ elif [[ " $SUBJTYPE " = ' ' && " $ADDDNQ " != no ]]
1377
1376
then ADDDNQ=yes
1378
1377
fi
1379
1378
@@ -1506,29 +1505,41 @@ create_suca_pem() {
1506
1505
fi
1507
1506
echo ' [ req_distinguished_name ]'
1508
1507
1509
- if [[ " $WANTDVCERT " != yes || " $ADDDNQ " = yes ]]
1508
+ if [[ " $CASUBJ " != ' ' ]]
1510
1509
then
1511
- if [[ " $ADDDNQ " != no ]]
1510
+ echo " $CASUBJ "
1511
+ if [[ " $ADDDNQ " = yes ]]
1512
1512
then
1513
1513
if [[ " $SERIAL " != ' ' ]]
1514
1514
then echo " dnQualifier=$SERIAL "
1515
1515
else echo " dnQualifier=$( mk_rand) "
1516
1516
fi
1517
1517
fi
1518
- fi
1518
+ else
1519
+ if [[ " $WANTDVCERT " != yes || " $ADDDNQ " = yes ]]
1520
+ then
1521
+ if [[ " $ADDDNQ " != no ]]
1522
+ then
1523
+ if [[ " $SERIAL " != ' ' ]]
1524
+ then echo " dnQualifier=$SERIAL "
1525
+ else echo " dnQualifier=$( mk_rand) "
1526
+ fi
1527
+ fi
1528
+ fi
1519
1529
1520
- # DV certificates need the issuer subject to have a country
1521
- # code and organisation. The XX code is valid for a CA, the
1522
- # org is supposed to be the CA's company name.
1523
- if [[ " $WANTDVCERT " = yes ]]
1524
- then echo " C=XX"
1525
- echo " O=Above reproach CA"
1526
- echo " CN=${CN:- CA} "
1527
- elif [[ " $CN " != " " ]]
1528
- then echo " O=Above reproach CA"
1529
- echo " CN=$CN "
1530
- else echo " O=Above reproach CA"
1531
- echo " CN=Private CA"
1530
+ # DV certificates need the issuer subject to have a country
1531
+ # code and organisation. The XX code is valid for a CA, the
1532
+ # org is supposed to be the CA's company name.
1533
+ if [[ " $WANTDVCERT " = yes ]]
1534
+ then echo " C=XX"
1535
+ echo " O=Above reproach CA"
1536
+ echo " CN=${CN:- CA} "
1537
+ elif [[ " $CN " != " " ]]
1538
+ then echo " O=Above reproach CA"
1539
+ echo " CN=$CN "
1540
+ else echo " O=Above reproach CA"
1541
+ echo " CN=Private CA"
1542
+ fi
1532
1543
fi
1533
1544
1534
1545
echo ' #END'
@@ -1544,7 +1555,6 @@ create_suca_pem() {
1544
1555
SIGNPEM=" $( ft openssl req -new $UTF8 -x509 $DGST \
1545
1556
-days " ${CERT_DAYS:- $DEFAULT_DAYS } " \
1546
1557
${CASER: +-set_serial 0x" $CASER " } \
1547
- ${CASUBJ: +-subj " $CASUBJ " } \
1548
1558
-key <( echo " $CAKEY " ) \
1549
1559
-config <( mksucareqconf)
1550
1560
echo " $CAKEY " ) "
0 commit comments