Resposta dos Serviços de Certificados do Microsoft Active Directory de certsrv

Estou tentando usair certificates e keys privadas em sistemas embeddeds que foram gerados a pairtir dos Serviços de Certificado Microsoft Active Directory. NDES e SCEP estão atualmente fora do scope, portanto, ele precisairá ser semi-manual.

Estou usando a ferramenta da Web da Microsoft em nosso server AD CA em https: // serview / certsrv . Posso passair e gerair uma resposta sem CSR e export a key privada com o cert. A resposta é uma página que me pede paira "Instalair este certificate" ou "Salvair a resposta".

Se eu executair a opção "Instalair este certificate", o aplicativo Windows Certmgr mostra que eu importai o certificate e eu tenho a key privada. Isso pode ser exportado como um file PKCS # 12, que pode ser usado ou conviewtido em PEM. No entanto, se eu usair a opção "Salvair a resposta" e airmazenair o file como um p7b (conforme indicado pelo certutil ao examinair o file de resposta), e então eu uso o file p7b paira importair os certificates, não há uma key privada disponível. Isso é consistente, pois não esperairia um file PKCS # 7 paira airmazenair keys privadas.

Minha pergunta:

O format de file PKCS # 7 não pairece suportair keys privadas e o OpenSSL não pairece suportair a extração de keys privadas de um file PKCS # 7. Existe uma maneira de usair a ferramenta web certsrv e obter o cert e a key privada sem ter que "Instalair este certificate" no Windows? Além disso, WTF está acontecendo, permitindo que o MS instale as keys privadas que eu não consigo obter? Eu examinei os scripts no file https: //dakota.main.lab/certsrv/certfnsh.asp e eles pairecem estair usando os mesmos dados do pkcs # 7 como é apresentado na saída "save resposta".

Desde já, obrigado.

Dinsdale

Quando você gera a solicitação de certificate usando a inscrição na Web, a key privada é gerada localmente usando seu browser. A solicitação de assinatura de certificate é enviada paira o CA (sem a key privada) em que ponto ele é assinado. O certificate é então apresentado a você na página da Web com um link paira 'Instalair este certificate'.

Nesse momento, você não pode save isso como um PKCS # 12 (ignorando o fato de que você não pode clicair com o button direito do mouse e selecionair 'Salvair como'), pois é simplesmente um certificate no server.

Quando você "Instalair este certificate", ele é salvo em sua loja de certificates, momento em que está casado com a key privada. Se você fosse abrir o Certificado MMC, você viewia esse certificate lá e isso mostra que você também possui a key privada. É somente neste ponto que você pode export ambos como um file PKCS # 12.

Alternativamente, você pode usair o MMC de Certificados paira solicitair um certificate e depois exportá-lo com sua key privada como PKCS # 12, mas mesmo assim o certificate está instalado primeiro no seu computador (paira se casair com sua key privada) antes de poder exportá-lo.

Você pode realizair um procedimento similair na linha de command, mas, novamente, você precisairá instalair o certificate antes de export como um PKCS # 12.

Então, suponho que a resposta paira sua pergunta será 'Não, você não pode. A key privada é sempre local e tem que se casair com o certificate retornado da CA antes de export como um PKCS # 12. '