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

1

Estou tentando usar certificados e chaves privadas em sistemas incorporados que foram gerados a partir dos Serviços de Certificados do Microsoft Active Directory. O NDES e o SCEP estão atualmente fora do escopo, portanto, ele precisará ser semi-manual.

Estou usando a ferramenta da web da Microsoft em nosso servidor de AD CA no link . Eu sou capaz de passar e gerar uma resposta sem um CSR e exportar a chave privada com o certificado. A resposta é uma página que me pede para "Instalar este certificado" ou "Salvar a resposta".

Se eu executar a opção "Instalar este certificado", o aplicativo Windows Certmgr mostra que importei o certificado e tenho a Chave particular. Isso pode ser exportado como um arquivo PKCS # 12, que pode ser usado ou convertido em PEM. No entanto, se eu usar a opção "Salvar a resposta" e armazenar o arquivo como p7b (conforme indicado pelo certutil ao examinar o arquivo de resposta) e usar o arquivo p7b para importar os certificados, não haverá chave privada disponível. Isso é consistente, pois não esperaria que um arquivo PKCS # 7 armazenasse chaves privadas.

Minha pergunta:

O formato de arquivo PKCS # 7 não parece suportar chaves privadas e o OpenSSL não suporta a extração de chaves privadas de um arquivo PKCS # 7. Existe uma maneira de usar a ferramenta da Web certsrv e obter o certificado e a chave privada sem a necessidade de "Instalar este certificado" no Windows? Além disso, está acontecendo o WTF que permite ao MS instalar as chaves privadas que eu não consigo obter? Eu olhei os scripts no arquivo link e eles parecem estar usando os mesmos dados do pkcs # 7 é apresentado na saída "salvar resposta".

Obrigado antecipadamente.

Dinsdale

    
por Dinsdale 17.02.2016 / 19:19

1 resposta

1

Quando você gera a solicitação de certificado usando o Registro na Web, a chave privada é gerada localmente usando seu navegador. A solicitação de assinatura de certificado é enviada para a CA (sem a chave privada) no ponto em que é assinada. O certificado é então apresentado a você na página da Web com um link para "Instalar este certificado".

Nesse momento, você não pode salvar isso como um PKCS # 12 (ignorando o fato de que você não pode clicar com o botão direito e selecionar 'Salvar como'), pois é simplesmente um certificado no servidor.

Quando você instala este certificado, ele é salvo em seu armazenamento de certificados, quando é casado com a chave privada. Se você abrir o MMC de Certificados, verá este certificado e mostrará que você também tem a chave privada. É somente nesse ponto que você pode exportar ambos como um arquivo PKCS # 12.

Como alternativa, você pode usar o MMC de Certificados para solicitar um certificado e depois exportá-lo com sua chave privada como um PKCS # 12, mas mesmo assim o certificado é instalado no computador primeiro (para casar com o certificado chave privada) antes de poder exportá-lo.

Você pode realizar um procedimento semelhante na linha de comando, mas, novamente, você precisará instalar o certificado antes de poder exportar como um PKCS # 12.

Então, suponho que a resposta para sua pergunta seja: 'Não, você não pode. A chave privada é sempre local e precisa ser casada com o certificado retornado da CA antes que você possa exportar como um PKCS # 12. '

    
por 17.02.2016 / 21:03