2010-06-25 3 views
0

저는 openssl을 처음 접했습니다. 지금까지 IBM과 HP에서 제공하는 자습서를 살펴보고 openssl API 사용 방법에 대한 사례를 살펴 보았습니다.C 문자열에 X.509 인증서를 저장하고 SSL_CTX 객체에로드 하시겠습니까?

내 프로젝트는 디지털 인증서로로드 된 USB 보안 메모리 토큰을 사용하여 클라이언트의 브라우저에서 ActiveX 컨트롤을 통해 클라이언트의 신원을 확인하는 것입니다. 이제 문제는 벤더가 제공하는 토큰 라이브러리가 토큰의 읽기 및 쓰기 만 지원한다는 것입니다. 그러나, 나는 SSL_CTX_load_verify_locations() 또는 SSL_CTX_use_certificate_file() 함수를 사용하여 파일에서 인증서를로드하는 방법 만 알고 있습니다.

내가 생각할 수있는 유일한 점은 토큰에 BEGIN X509 CERTIFICATEEND X509 CERTIFICATE 사이에 암호화 된 내용의 큰 덩어리를 쓰고 문자열로 읽는 것입니다. 이제 openssl에서 SSL_CTX 객체 ctx에이 문자열을로드하는 데 도움이 필요합니다.

사실, BEGIN X509 CERTIFICATEEND X509 CERTIFICATE 사이에는 개인 키를 제외한 소위 공개 키 및 기타 정보 (예 : 만료 날짜)가 포함되어 있습니까? 내가 틀렸다면 나를 바로 잡아주세요 :)

어떤 도움을 많이 주시면 감사하겠습니다!

Z.Zen

+0

"OpenSSL로 네트워크 보안"이라고하는 openssl에 관한 좋은 책이 있습니다. 나는 그것을 권합니다. OpenSSL에 대한 많은 유용한 정보가 있습니다 – pcent

+0

@pcent, 감사합니다! 방금 책의 내용을 조사한 결과, openssl 사이트의 온라인 문서보다 훨씬 조직적으로 보입니다. –

답변

0

읽고 토큰에 임의의 이진 모양을 쓸 수 있다면, 당신은 단지 다음, 인증서와 ASN1 형식의 개인 키를 저장할 수 있습니다 (순서대로) SSL_CTX_use_certificate_ASN1()SSL_CTX_use_PrivateKey_ASN1()로로드 . 인증서는 개인 키를 저장하지 않기 때문에 둘 다 수행해야합니다. 별도로 저장해야합니다.

관련 문제