전체 인증서 체인과 개인 키가 포함 된 PKCS12 파일이 있습니다. 응용 프로그램을 위해 3 개의 파일로 나눌 필요가 있습니다. 필요한 3 개의 파일은 다음과 같습니다 (PEM 형식).
- 암호화되지 않은 키 파일
- 클라이언트 인증서 파일
- CA 인증서 파일 (루트 및 모든 중간)
이것은 수행해야 할 일반적인 작업이므로 수동으로 출력을 편집하지 않고도이 작업을 수행 할 수있는 방법을 찾고 있습니다.
나는 다음을 시도했다.
openssl pkcs12 -in <filename.pfx> -nocerts -nodes -out <clientcert.key>
openssl pkcs12 -in <filename.pfx> -clcerts -nokeys -out <clientcert.cer>
openssl pkcs12 -in <filename.pfx> -cacerts -nokeys -chain -out <cacerts.cer>
이것은 잘 작동하지만 출력에는 bag 속성이 포함되어 있으며 응용 프로그램은 처리 방법을 모릅니다.
일부 검색 후 bag 속성을 제거하기 위해 x509를 통해 결과를 전달하는 제안 된 솔루션을 찾았습니다.
openssl x509 -in <clientcert.cer> -out <clientcert.cer>
이것은 작동하지만 cacert 파일에 문제가 있습니다. 출력 파일에는 체인에있는 3 개의 인증서 중 하나만 포함됩니다.
pkcs12 명령의 출력에 bag 속성을 포함하지 않거나 x509 명령 출력에 모든 인증서를 포함시키는 방법이 있습니까? 또한 x509를 통해 실행하는 것이 가장 간단한 해결책이라면 파일을 두 번 쓰는 대신 pkcs12의 출력을 x509로 파이프하는 방법이 있습니까?