Linux 서버에서 Apache 용 PFX 인증서 파일을 변환하려면 어떻게해야합니까?Linux 서버에서 Apache 용 PFX 인증서 파일을 변환하려면 어떻게해야합니까?
Windows 인증서 서비스에서 PFX를 만들었습니다. PFX는 전체 인증서 체인을 포함합니다. (그냥 뿌리와 주요 인증서, 중급 없습니다.)
나를 리드, 현명한 것들.
Linux 서버에서 Apache 용 PFX 인증서 파일을 변환하려면 어떻게해야합니까?Linux 서버에서 Apache 용 PFX 인증서 파일을 변환하려면 어떻게해야합니까?
Windows 인증서 서비스에서 PFX를 만들었습니다. PFX는 전체 인증서 체인을 포함합니다. (그냥 뿌리와 주요 인증서, 중급 없습니다.)
나를 리드, 현명한 것들.
OpenSSL 사용하면 PFX를 변환 할 수 있습니다 다음 명령을 아파치 호환 형식 :
openssl pkcs12 -in domain.pfx -clcerts -nokeys -out domain.cer
openssl pkcs12 -in domain.pfx -nocerts -nodes -out domain.key
첫 번째 명령은 domain.cer
에 공개 키를 추출합니다.
두 번째 명령은 개인 키를 domain.key
으로 추출합니다.
업데이트와 아파치 설정 파일 :
<VirtualHost 192.168.0.1:443>
...
SSLEngine on
SSLCertificateFile /path/to/domain.cer
SSLCertificateKeyFile /path/to/domain.key
...
</VirtualHost>
주변에 몇 가지 도구를 툭 그러나 이것은 내가 함께 끝난 것입니다.
IIS7에서 인증서를 생성하고 설치했습니다. 는
openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes
참고 PKCS12로 변환
IIS
에서 PFX로 내보낼 : PEM 형식으로 PFX 변환하는 동안, OpenSSL을 하나의 파일에 모든 인증서 및 개인 키를 넣어 것입니다. 텍스트 편집기에서 파일을 열고 각 인증서 & 개인 키 (BEGIN/END 문 포함)를 자체 텍스트 파일에 복사하고 certificate.cer, CAcert.cer, privateKey.key로 각각 저장해야합니다.-----BEGIN PRIVATE KEY-----
Saved as certificate.key
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
Saved as certificate.crt
-----END CERTIFICATE-----
Webmin과 함께 apache vhost에 추가되었습니다.
개인 키와 인증서가 같은 파일에 저장되는 것을 원하지 않으면'-nokeys' (개인 키를 추출하지 않음)와'-clcerts' (인증서 만 추출)를 사용하십시오. 이것은 정확히 Matej가 말한 것입니다. – Bruno
브루노, 고마워. 나는 그에게 정확한 답을 줄 것이다. 알아 둘만한. – AaronJAnderson
Apache에서 작동 시키려면 추가 단계가 필요했습니다.
openssl pkcs12 -in domain.pfx -clcerts -nokeys -out domain.cer
openssl pkcs12 -in domain.pfx -nocerts -nodes -out domain_encrypted.key
openssl rsa -in domain_encrypted.key -out domain.key
마지막 명령은 Apache에서 사용할 키를 해독합니다. domain.key 파일은 다음과 같아야합니다.
-----BEGIN RSA PRIVATE KEY-----
MjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3
LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp
YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG
A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq
-----END RSA PRIVATE KEY-----
좋은! Bitnami 또는 CA crt를 필요로하는 다른 사람들을 위해 Andron의 대답을보고 CA crt를 포함 시키십시오. Andron의 답변에있는 domain-ca.crt 대신 server-ca.crt를 사용하고 domain.cer 대신 server.crt를 사용하고 Michael Ferrante 's의 server.key (domain.key 대신) 명명법을 사용합니다. 여기에 대답하십시오. – OldGreg
SSLSHopper는 다른 서버간에 이동하는 것에 대한 몇 가지 철저한 기사가 있습니다.
http://www.sslshopper.com/how-to-move-or-copy-an-ssl-certificate-from-one-server-to-another.html
그냥이 페이지의 하단에 관련 링크를 선택하십시오.참고 : 사용자에게 개인 키에 대한 액세스 권한을 부여하는 온라인 변환기가 있습니다. 그들은 아마도 신뢰할 수는 있지만 OPENSSL 명령 (이 사이트에도 표시되어 있음)을 사용하여 개인 키를 개인 컴퓨터에 비공개로 유지하는 것이 좋습니다.
또한
openssl pkcs12 -in domain.pfx -clcerts -nokeys -out domain.cer
openssl pkcs12 -in domain.pfx -nocerts -nodes -out domain.key
에 나는 또한 생성 된 인증 기관 (CA) 인증서 :
openssl pkcs12 -in domain.pfx -out domain-ca.crt -nodes -nokeys -cacerts
그리고 아파치 설정 파일에 포함 :
<VirtualHost 192.168.0.1:443>
...
SSLEngine on
SSLCertificateFile /path/to/domain.cer
SSLCertificateKeyFile /path/to/domain.key
SSLCACertificateFile /path/to/domain-ca.crt
...
</VirtualHost>
이가 명령이 없습니다 인증 기관 파일을 생성하십시오. 아래 답변은보다 완벽합니다. – Hawkee
이것은 Windows에서도 작동합니다. +1 내 엉덩이를 저장했습니다. – craigmoliver