openssl - certificado de sinal cruzado

openssl - certificado de sinal cruzado

Quero assinar uma assinatura raiz de terceiros ( third-party-ca) com minha própria raiz ca ( r1). (Fundo:restringindo o uso)

Para fazer isso, eu uso

openssl x509-in third-party-ca.crt -CA /etc/pki/r1/ca.crt -CAkey /etc/pki/r1/private/ca.key -out third-party-ca-cross-signed.crt -set_serial 1000

Isso funciona, mas mantém o Authority Key Identifierdo third-party-ca, que precisaria ser alterado para o Subject Key Identifierdo r1. (Para um exemplo prático, consulte letsencryptISRG X1 com assinatura cruzadaporCA Raiz DST X3)

Consigo adicionar outro Authority Key Identifiercriando um akiexte usando -extfile akiext. No entanto, isso resulta em dois Authority Key Identifier.

Como posso substituir o existente Authority Key Identifier?

Responder1

Na openssl x509linha de comando, você não pode excluir seletivamente extensões; você pode usar -clrextpara soltartodosinsira extensões e configure nas -extfileextensões pré-existentes que você deseja (no mínimo BC e KU)maiso(s) novo(s). Observe que os certificados públicos subordinados ou cruzados - como aquele que você vincula - provavelmente contêm AIA e/ou CRLDP, bem como AKI,todosdos quais são corretos apenas para o emissor/pai que você está substituindo e, portanto, devem ser substituídos (ou removidos).

Alternativamente, você poderia escrever código; fazendo isso usando oAPIé simples. Mas isso provavelmente pertence ao SO outalvezsecurity.SX em vez de aqui. (E espera-se que você faça parte do trabalho.)

No seu exemplo específico, ISRG Root X1 está disponível com assinatura cruzada por Identrust DST X3 ecomo uma raiz- se você iniciar a partir do certificado raiz, não haverá AKIouAIA/CRLDP que precisam ser removidos.

Atualização: conforme revelado por umpergunta relacionada subsequenteOpenSSL 3.0.0 up não permite o caso de entrada não-root; requer que o certificado antigo seja autoassinado (uma raiz). Os comentários na fonte indicam que isso sempre foi pretendido, embora não tenha sido efetivamente aplicado antes.

informação relacionada