문제

편집 : 내 문제를 해결하지 못했지만 새롭고 더 흥미로운 문제로 넘어갔습니다.
누군가 가이 질문에 우연히 발견하는 사람이있는 경우 누군가가 여기에 남겨두고 있습니다.

안녕하세요, PHP에서 암호화 된 이메일을 전망으로 보내려고합니다. 따라서 Outlook으로 가져 오기 위해 인증서를 생성해야합니다. OpenSSL과 함께 제공되는 CA.PL 스크립트를 사용하여 키 세트를 생성하는 데 아무런 문제가 없었지만, PKCS12 파일을 생성하여 Outlook으로 가져 오기 위해 명령을 실행하려고 할 때 누락 된 "Democa"디렉토리에 대해 불평합니다. 이 디렉토리는 OpenSSL의 일부인 것으로 보이며 OpenSSL 구성에서 참조되어 있지만 어디에 있는지 전혀 모릅니다. 나는 Grep에서 스포트라이트까지 여러 가지 방법으로 드라이브를 검색했습니다 (OS X에서는 실제로 스포트라이트를 기대하지는 않았지만 아무것도 찾을 수 없었습니다.

내가 실행하려는 명령은 다음과 같습니다.

$ 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:

암호화 / SSL에 관해서는 약간의 멍청이이므로 어리석은 것을 놓치고있을 수 있습니다 (하하).

도움이 되었습니까?

해결책

제공된 스크립트를 통해 새 CA를 만들어야하며 모든 OpenSSL 옵션을 처리하는 것보다 쉽습니다. 이를 수행 할 수 있습니다.이를 수행 할 수 있습니다. Windows 자체 내부의 Cygwin과 함께 번들로 제공하거나 좋아하는 Unix 배포판을 사용하는 수단이 될 수 있습니다. Bash 스크립트로 수행하는 방법을 보여 드리겠습니다 (그러나 Perl 스크립트는 동일해야합니다).

$ ./CA.sh -newca

CA 인증서가 포함 된 Democa 디렉토리를 만듭니다. 위의 명령을 호출하면 CA 인증서 (CN, OU 등)의 필드 및 CA 개인 키 암호화에 대한 프롬프트가 나타납니다.

이제 인증서 요청에서 인증서 요청 또는 인증서를 만들 수 있습니다.

$ ./CA.sh -newreq

이는 새로운 인증서 요청 필드와 암호화가 생성 된 개인 키를 암호화하기위한 암호를 제기합니다. 기본적으로 요청은 ca.sh (newReq.pem)와 동일한 디렉토리에 남겨집니다. CN (Common Name)으로 사용하는 이메일 주소를 사용하는 것이 중요합니다.

이제 서명하면되며 완전히 날아간 인증서가 있습니다.

$ ./CA.sh -sign

서명 된 인증서 요청 인 NewCert.pem이 생성됩니다. 인증서가 있으므로 Microsoft CSP가 인식하는 PFX 또는 P12 파일 내에 인증서와 개인 키 만 포장하면됩니다.

그런 다음 NewReq.pem 및 NewCert.pem의 내용을 파일에 복사하십시오.

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

이제 OpenSSL 쉘을 통해 p12 파일을 생성합니다 (이번에는 스크립트의 도움이 없습니다). 요청이 생성되었을 때 사용한 암호와 내보내기 비밀번호 (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à. PKCS#12 파일이있어 Windows를 두 번 클릭하여 KeyStore로 가져 와서 메일 서명 인증서로 사용할 수 있습니다 (기본 옵션이 충분한 경우 기억이 나지 않거나 인증서 SO Outlook은 이메일 서명 인증서로 인식됩니다). 또한 CA 인증서를 신뢰할 수있는 CA로 가져와야합니다 (CACERT.PEM을 CACERT.CER에 CACERT.CER에 복사하여 DEMOCA 디렉토리 내부에 두 번 클릭하십시오).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top