Gostaria de configurar meu próprio Respondente OCSP (apenas para fins de teste). Isso requer que eu tenha um certificado raiz e alguns certificados gerados a partir dele.
Consegui criar um certificado auto-assinado usando o openssl. Eu quero usá-lo como o certificado raiz. O próximo passo seria criar os certificados derivados. Eu não consigo encontrar a documentação sobre como fazer isso no entanto. Alguém sabe onde posso encontrar essa informação?
Editar
Em retrospecto, minha pergunta ainda não foi totalmente respondida. Para esclarecer o problema, vou representar minha cadeia de certificados assim:
ROOT - > A - > B - > C - > ...
Atualmente, posso criar os certificados ROOT e A, mas não descobri como fazer uma cadeia mais longa.
Meu comando para criar o certificado raiz é:
openssl req -new -newkey rsa:1024 -nodes -out ca.csr -keyout ca.key
openssl x509 -trustout -signkey ca.key -days 365 -req -in ca.csr -out ca.pem
O certificado A é criado assim:
openssl genrsa -out client.key 1024
openssl req -new -key client.key -out client.csr
openssl ca -in client.csr -out client.cer
Esse comando depende implicitamente do certificado raiz, para o qual ele encontra as informações necessárias no arquivo de configuração openssl.
No entanto, o certificado B deve depender apenas de A, que não está registrado no arquivo de configuração, portanto, o comando anterior não funcionará aqui.
Qual linha de comando devo usar para criar certificados B e além?
Editar
Eu encontrei a resposta em este artigo . O certificado B (cadeia A - > B) pode ser criado com estes dois comandos:
# Create a certificate request
openssl req -new -keyout B.key -out B.request -days 365
# Create and sign the certificate
openssl ca -policy policy_anything -keyfile A.key -cert A.pem -out B.pem -infiles B.request
Eu também alterei o arquivo openssl.cnf:
[ usr_cert ]
basicConstraints=CA:TRUE # prev value was FALSE
Essa abordagem parece estar funcionando bem.