2013-07-22 1 views
2

PKCS12 (PKCS # 12/p12) 파일을 만들 때 동일한 키와 인증서 파일을 사용할 때마다 OpenSSLpkcs12 기능을 연속적으로 호출 할 때마다 ENCRYPTED PRIVATE KEY 내용이 달라집니다 (나는 또한 동일한 수입품 암호 및 PEM passphrase를 사용하고있다). 이 일이 일어날 예정입니까? 개인 키의 대칭 암호화와 관련된 다른 IV (초기화 벡터) 또는 소금과 관련이 있다고 생각하지만 확신하고 싶습니다.연속 OpenSSL PKCS12 생성으로 다른 개인 키 내용 생성

은 내가 cred1.p12 및 cred2.p12 파일을 만들려면 다음 명령을 사용

openssl pkcs12 -export -in certs/cert.pem -out cred1.p12 -name "My credentials" -inkey private/key.pem 
openssl pkcs12 -export -in certs/cert.pem -out cred2.p12 -name "My credentials" -inkey private/key.pem 

나는 결과가 .p12 파일 (이진 차이에 diff cred1.p12 cred2.p12 결과를) 비교할 때 나는 만들려면 다음 명령을 사용하여 2 개의 PKCS12 정보 텍스트 파일. 다른 텍스트 파일은 diff입니다.

openssl pkcs12 -info -in cred1.p12 > a.txt 
openssl pkcs12 -info -in cred2.p12 > b.txt 
diff a.txt b.txt 

그리고 유일한 차이는 개인 키 내용이 유지되는 -----BEGIN ENCRYPTED PRIVATE KEY----------END ENCRYPTED PRIVATE KEY----- 태그 사이에 거짓말. 사전에

감사합니다!

답변

3

예, 이것은 예상되는 동작입니다. OpenSSL은 기본적으로 DES-EDE3을 사용하여 PKCS12 파일에서 개인 키를 암호화합니다. 암호화 할 때마다 무작위 initialization vector이 생성되어 암호화 된 페이로드가 변경됩니다. 쉼표가 진수 인코딩 된 8 바이트 소금입니다

DEK-Info: DES-EDE3-CBC,558C30D119D6944F 

데이터 후 : 당신이 -info 출력을 볼 때이 같은 것을 볼 수 있습니다.

+0

설명해 주셔서 감사합니다. :디 – aspergillusOryzae

관련 문제