이 방법은 OpenSSL을 사용하여 PKCS # 12 파일에서 정보를 추출하는 과정을 안내합니다. PKCS # 12 (PKCS12 또는 PFX라고도 함)는 인증서 체인과 개인 키를 암호화 가능한 단일 파일에 저장하기위한 이진 형식입니다. PKCS # 12 파일은 일반적으로 Windows 및 macOS 컴퓨터에서 인증서 및 개인 키를 가져오고 내보내는 데 사용되며 일반적으로 파일 이름 확장자를 갖습니다. .p12
or .pfx
.
더 유용한 방법과 최신 사이버 보안 뉴스를 보려면 여기에서 SSL.com의 뉴스레터에 가입하십시오.
OpenSSL이란 무엇입니까?
OpenSSL은 매우 유용한 오픈 소스 명령 줄 툴킷으로 X.509 인증서, 인증서 서명 요청 (CSRs) 및 암호화 키. Linux 또는 macOS와 같은 UNIX 변형을 사용하는 경우 OpenSSL이 컴퓨터에 이미 설치되어있을 수 있습니다. Windows에서 OpenSSL을 사용하려면 다음을 활성화 할 수 있습니다. Windows 10의 Linux 하위 시스템 또는 설치 Cygwin에서. 당신은 또한 쉽게 할 수 있습니다 만들 openSSL이있는 PKCS # 12 파일
SSL.com은 다양한 SSL /TLS 서버 인증서 HTTPS 웹 사이트 용.
Video
아래 표시된 모든 예에서 실제로 작업중인 파일 이름을 대체하십시오. INFILE.p12
, OUTFILE.crt
및 OUTFILE.key
.
화면에서 PKCS # 12 정보보기
PKCS # 12 파일의 모든 정보를 화면에 덤프하려면 PEM 형식이 명령을 사용하십시오.
openssl pkcs12-정보 -in INFILE.p12-노드
그러면 PKCS # 12 파일의 암호를 입력하라는 메시지가 표시됩니다.
비밀번호 가져 오기를 입력하십시오.
PKCS # 12 파일을 만들 때 입력 한 비밀번호를 입력하고 enter
. OpenSSL은 파일의 모든 인증서와 개인 키를 화면에 출력합니다.
가방 속성 localKeyID : AC 3E 77 9A 99 62 84 3D 77 CB 44 0D F9 78 57 7C 08 28 05 97 subject = / CN = Aaron Russell/emailAddress=*********@gmail.com issuer = / C = US / ST = 텍사스 / L = 휴스턴 / O = SSL 공사 / CN = SSL.com 클라이언트 인증서 중간 CA RSA R1 ----- BEGIN CERTIFICATE ----- MIIF1DCCA7ygAwIBAgIQcOrAJCMayJsZBKJsyz / aQDANBgkqhkiG9w0BAQsFADB + MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24x ETAPBgNVBAoMCFNTTCBDb3JwMTowOAYDVQQDDDFTU0wuY29tIENsaWVudCBDZXJ0 ... bwK6ABAZUq6QcvhD0LYsXya + ncDCR6wxb9E0DWd4ATQMzxGTu / yE3kT + 9Ef6IY + n armh3HZUfan2Hb64YD0tjLMca / PC + sKAZu28gB / 3HQRHIFugvh6RO3bIoorl0jUg 1Ml2r83 ++ biuu --------------------------------------------------------
개인 키 암호화
개인 키를 암호화하고 출력하기 전에 암호로 보호하려면 간단히 -nodes
명령에서 플래그 :
openssl pkcs12-정보 -in INFILE.p12
이 경우 OpenSSL에서 인증서를 출력 한 후 새 비밀번호를 입력하고 확인하라는 메시지가 표시되고 개인 키는 암호화됩니다 (키의 텍스트는 -----BEGIN ENCRYPTED PRIVATE KEY-----
):
-----에서 암호화 된 개인 키 ----- MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIGwhJIMXRiLQCAggA MBQGCCqGSIb3DQMHBAiXdeymTYuedgSCBMjwGg78PsqiNJLfpDFbMxL98u3tK9Cs ... SGVCCBj5vBpSbBXAGbOv74h4satKmAMgGc8SgU06geS9gFgt / wLwehMJ / H4BSmex 4S / 2tYzZrDBJkfH9JpggubYRTgwfAGY2BkX03dK2sqfu + QVTVTKMj2VI0sKcFfLZ BDW = ----- END ENCRYPTED을 BEGIN : PEM 패스 문구를 입력 - 확인이 : PEM 패스 문구를 입력 개인 키 -----
인증서 또는 개인 키만 추출
개인 키만 출력하려면 추가하십시오. -nocerts
명령에 :
openssl pkcs12 -info -in INFILE.p12 -nodes -nocerts
인증서 만 필요한 경우 다음을 사용하십시오. -nokeys
(그리고 우리는 개인 키에 관심이 없기 때문에 안전하게 생략 할 수 있습니다. -nodes
):
openssl pkcs12-정보 -in INFILE.p12 -nokeys
인증서 및 개인 키를 파일에 저장
출력 파일 이름을 지정하여 PKCS # 12 파일에서 인증서와 개인 키를 내보내고 PEM 형식으로 새 파일에 저장할 수 있습니다.
openssl pkcs12 -in INFILE.p12 -out OUTFILE.crt-노드
다시 PKCS # 12 파일의 암호를 입력하라는 메시지가 표시됩니다. 이전과 마찬가지로 다음을 제거하여 개인 키를 암호화 할 수 있습니다. -nodes
명령에서 플래그 및 / 또는 추가 -nocerts
or -nokeys
개인 키 또는 인증서 만 출력합니다. 따라서 개인 키 파일을 생성하려면 다음 명령을 사용할 수 있습니다.
openssl pkcs12 -INFILE.p12 -out OUTFILE.key -nodes -nocerts
인증서 만 포함하여 파일을 만들려면 다음을 사용하십시오.
openssl pkcs12 -INFILE.p12 -out OUTFILE.crt -nokeys
개인 키를 PKCS # 1 형식으로 변환
위의 모든 예제는 OpenSSL의 기본값으로 개인 키를 출력합니다. PKCS # 8 체재. 당신이 필요하다는 것을 안다면 PKCS # 1 대신 OpenSSL의 PKCS # 12 유틸리티의 출력을 키 유형에 따라 RSA 또는 EC 유틸리티로 파이프 할 수 있습니다. 아래의 두 명령 모두 PKCS # 1 형식의 키 파일을 출력합니다.
RSA
INFILE.p12에서 openssl pkcs12 -nodes -nocerts | openssl rsa -out OUTFILE.key
ECDSA
INFILE.p12에서 openssl pkcs12 -nodes -nocerts | openssl ec -out OUTFILE.key
참고 : 첫 줄의 텍스트를 보면 PKCS # 8과 PKCS # 1 개인 키 파일의 차이점을 알 수 있습니다. PKCS # 1 파일은 알고리즘을 지정합니다.
-----BEGIN RSA PRIVATE KEY-----
PKCS # 8 파일은 알고리즘을 표시하지 않으며 암호화 될 수도 있습니다.
-----BEGIN PRIVATE KEY-----
or
-----BEGIN ENCRYPTED PRIVATE KEY-----