openssl을 사용하여 인증서 체인 저장 및 검색


1

수행원 질문 루트, 중간 및 최종 인증서의 계층 구조에서 여러 인증서를 만들 수있었습니다.

# Create root RSA key pair of 1024 bits as well as a certificate signing request
openssl.exe req -new -newkey rsa:1024 -nodes -out caRoot.csr -keyout caRoot.key
# Create root certificate and store into .pem format
openssl x509 -trustout -signkey caRoot.key -days 365 -req -in caRoot.csr -out caRoot.pem
# Create intermediate certificate RSA key pair
openssl genrsa -out clientIntermediate.key 1024
# Create intermediate CSR
openssl req -new -key clientIntermediate.key -out clientIntermediate.csr
# Do the same thing for the end certificate
openssl req -new -keyout clientEnd.key -out clientEnd.csr -days 365
# Create a certificate request
openssl ca -policy anyPolicy -keyfile clientIntermediate.key -cert clientIntermediate.pem -out clientEnd.pem -infiles clientEnd.request
# Create and sing certificate
openssl ca -policy anyPolicy -keyfile clientIntermediate.key -cert clientIntermediate.pem -out caRoot.pem -infiles clientEnd.csr

위에서 설명한대로 인증서 체인을 만들고이를 완전히 저장하는 방법은 무엇입니까? PKCS # 12 체재?


당신은 그 명령의 명령 중 일부를 엉망으로 만들었고 쓸모없는 쓰레기를 만들어 냈습니다. 올바른 인증서 계층 구조를 생성하는 경우에만 인증서를 원하십니까, 아니면 '엽 (leaf)'개인 키를 해당 인증서 체인과 함께 사용 하시겠습니까? 아니면 일부 사용자가 '개인 키가있는 인증서'라고 말하고 싶습니까? PKCS # 12는 후자를 위해 설계되었으며 명령 줄 openssl 만들고 다른 시스템을 가져올 수 있습니다. 네가 원한다면 인증서 사슬 (cert chain)은 그 용도로 사용되는 표준으로 PKCS # 7이 있습니다. openssl 덜 분명한 방법으로 사용할 수도 있습니다. crl2pkcs7, CRL을 생략하고 certs를 추가하십시오. 잭 니콜슨의 축배와 같아.
dave_thompson_085

나는 분명히 후자를 원한다. 어떻게 crl2pkcs7을 사용할 수 있습니까?
Sebi

답변:


1

내 설명에있는 "후자"인 개인 키와 인증서 체인은 처음에 물었던 PKCS # 12입니다. (PKCS # 7은 유일한 인증서 체인의 경우를 처리합니다.) PKCS # 12를 가장 간단하게 만들려면 명령 줄 작업을 사용하십시오 pkcs12 와 더불어 -export 선택권. 이 명령의 옵션을 조합하는 방법은 여러 가지가 있지만, 루트, 중간, 잎과 같은 3 단계 시나리오의 두 가지 간단한 방법은 다음과 같습니다.

openssl pkcs12 -export -in leafcert.pem -inkey leafkey.pem -certfile midcert.pem -CAfile rootcert.pem -chain -out my.p12 

cat leafcert.pem leafkey.pem midcert.pem rootcert.pem | openssl pkcs12 -export -out my.p12 

(귀하의 파일 이름을 대체하십시오). OpenSSL이 (완전히) 설치되거나 온라인 상태 인 Unix 시스템에서 사용할 수있는 맨 페이지의 모든 세부 정보 https://www.openssl.org/docs/man1.0.2/apps/pkcs12.html (또는 이전 버전 선택 https://www.openssl.org/docs/manpages.html 필요한 경우).

완전성을 위해, 개인 키없이 체인이 필요하다면 /해야합니다.

openssl crl2pkcs7 -nocrl -certfile leafcert.pem -certfile midcert.pem -certfile rootcert.pem -out my.p7b 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.