Pergunta

Edit:. Não têm resolvido meus problemas, mas eu mudei para problemas novos e mais emocionantes
Deixando isso aqui no caso de alguém tem e perspicaz que vou ajudar alguém que tropeça para esta questão no futuro.

Oi, Estou tentando enviar um e-mail criptografado de php para o Outlook. Como tal, eu preciso gerar um certificado para importar para o Outlook. Eu não tive nenhum problema gerar um conjunto de chaves usando openssl eo script CA.pl que vem com ele, mas quando tento executar o comando para gerar o arquivo PKCS12 importar para o Outlook que reclama um diretório ausente "demoCA". Parece que este diretório é uma parte do OpenSSL, e é referenciado na configuração openssl ... mas eu não tenho nenhuma idéia de onde ele é. Eu procurei a unidade de muitas maneiras de grep para destacar (no OS X, embora eu realmente não estava esperando holofotes para encontrar qualquer coisa), e não pode chegar a qualquer coisa.

O comando eu estava tentando executar é:

$ openssl ca -cert newcert.pem -ss_cert newcert.pem
Using configuration from /sw/etc/ssl/openssl.cnf
./demoCA/private/cakey.pem: No such file or directory trying to load CA private key
19918:error:02001002:system library:fopen:No such file or directory:bss_file.c:245:fopen('./demoCA/private/cakey.pem','r')
19918:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:247:

Eu sou um pouco de um noob quando se trata de criptografia / SSL, para que eu possa estar faltando algo estúpido (eu tenho certeza que se ele, haha).

Foi útil?

Solução

Você deve criar um novo CA por meio do script fornecido, que é mais fácil do que apenas lidar com todas as opções OpenSSL. Você pode fazer este meio ser de openssl empacotados com Cygwin dentro do próprio Windows ou usar sua distro favorita Unix. Vou mostrar-lhe como fazê-lo com scripts bash (mas scripts perl deve ser o mesmo).

$ ./CA.sh -newca

Isso cria demoCA diretório com o certificado da CA dentro dela. Como você invocar comando acima você será prompt sobre os campos do certificado da CA (CN, OU, etc.) e CA senha de chave privada.

Agora você pode criar solicitações de certificado ou certificados de requestes certificado.

$ ./CA.sh -newreq

Este pede uma novos campos de solicitação de certificado e a senha para criptografar a chave privada gerada. Por padrão, o pedido é deixado no mesmo diretório que CA.sh (newreq.pem). É importante que você use como CN (Nome Comum) o endereço de e-mail que você tem.

Agora você só precisa assiná-lo e você tem um certificado desenvolvido.

$ ./CA.sh -sign

Isso irá gerar newcert.pem que é a solicitação de certificado assinado. Você tem o seu certificado, você só precisa para embalar o certificado ea chave privada dentro de um PFX ou P12 arquivo, que Microsoft CSP reconhece.

Em seguida, copie o conteúdo de newreq.pem e newcert.pem em um arquivo.

$ cat newreq.pem > keypair.pem
$ cat newcert.pem >> keypair.pem

E agora gerar P12 arquivo por meio de shell OpenSSL (desta vez não temos a ajuda de qualquer script). Ele irá pedir-lhe a senha que você usou quando pedido foi gerado e, em seguida, a senha de exportação (para criptografar a chave privada dentro do arquivo p12).

$ openssl pkcs12 -export -in keypair.pem  -out mykeypair.p12
Enter pass phrase for keypair.pem:
Enter Export Password:
Verifying - Enter Export Password:

Et voilà. Você tem um arquivo PKCS # 12 que você pode clicar duas vezes no Windows e importá-lo para o seu armazenamento de chave e usá-lo como um certificado de assinatura de e-mail (não me lembro se opções padrão são suficientes ou é preciso especificar alguns atributos adicionais ao criar o certificado assim Outlook reconhece como um certificado de assinatura de e-mail). Você também vai precisar de certificado de importação CA como um confiável CA (cópia cacert.pem para cacert.cer que está dentro diretório demoCA e clique duas vezes para importação).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top