Gostaria de configurar meu próprio Respondente OCSP (apenas para fins de teste). Isso exige que eu tenha um certificado raiz e alguns certificados gerados a partir dele.
Consegui criar um certificado autoassinado usando o openssl. Eu quero usá-lo como o certificado raiz. O próximo passo seria criar os certificados derivados. No entanto, não consigo encontrar a documentação sobre como fazer isso. Alguém sabe onde posso encontrar esta informação?
Editar
Em retrospecto, minha pergunta ainda não foi completamente respondida. Para esclarecer o problema, representarei minha cadeia de certificados assim:
ROOT -> A -> B -> C -> ...
Atualmente, sou capaz de criar os certificados ROOT e A, mas não descobri como criar 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 encontra as informações necessárias no arquivo de configuração openssl.
No entanto, o certificado B deve confiar apenas em A, que não está registrado no arquivo de configuração, para que o comando anterior não funcione aqui.
Qual linha de comando devo usar para criar certificados B e além?
Editar
Encontrei a resposta neste 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
Também mudei o arquivo openssl.cnf:
[ usr_cert ]
basicConstraints=CA:TRUE # prev value was FALSE
Essa abordagem parece estar funcionando bem.