Component CA
Create directories
mkdir -p ca/component-ca01/private ca/component-ca01/db ca/component-ca01/archives crl certs
chmod 700 ca/component-ca01/private
Create databases
touch ca/component-ca01/db/component-ca01.db
touch ca/component-ca01/db/component-ca01.db.attr
echo 01 > ca/component-ca01/db/component-ca01.crt.srl
echo 01 > ca/component-ca01/db/component-ca01.crl.srl
Create the request
openssl req -new \
-config etc/ca/component-ca.conf \
-out ca/component-ca01/component-ca01.csr \
-keyout ca/component-ca01/private/component-ca01.key
Check the request
openssl req -in ca/component-ca01/component-ca01.csr -text
Create the component CA certificate
openssl ca \
-config etc/ca/root-ca.conf \
-in ca/component-ca01/component-ca01.csr \
-out ca/component-ca01/component-ca01.crt \
-extensions intermediate_ca_ext
Check the certificate
openssl x509 -in ca/component-ca01/component-ca01.crt -text -noout
Create the initial CRL
openssl ca -gencrl \
-config etc/ca/component-ca.conf \
-out crl/component-ca01.crl
Create the PEM Bundle
cat ca/component-ca01/component-ca01.crt \
ca/root-ca01/root-ca01.crt > \
ca/component-ca01/component-ca01-chain.pem