OpenSSL의 OCSP 기능을 described here으로 구현하려고하는데 X509 개체가 매개 변수로 필요합니다. 내가 가지고있는 것은 .cer 형식의 x.509 인증서 파일입니다. OpenSSL에서 .cer 인증서를 사용하여 X509 개체를 초기화하는 방법은 무엇입니까? (중요한 경우 XCode에서 OpenSSL 1.0.0g를 사용하고 있습니다.).cer 파일을 사용하여 OpenSSL 라이브러리에서 X509 객체를 초기화하는 방법은 무엇입니까?
답변
두 가지 주된 경우가 있습니다. 나는 여기 둘 다 다룰 것이다.
저는 C++을 사용하고 있다고 가정했습니다. 플랫폼의 선택은 정상적인 경우 이러한 기능에 대한 바인딩을 가져야합니다.
첫 번째 경우 인증서 파일은 소위 PEM 양식입니다. 텍스트 편집기에서 인증서를 열어 사람이 읽을 수있는 헤더가있는 Base64로 인코딩 된 일부 데이터를 볼 경우 PEM 파일입니다. 이 경우, 원하는 기능은
X509 *PEM_read_X509(FILE *fp, X509 **x, pem_password_cb *cb, void *u);
첫 번째 인수는 fopen()
에 의해 반환되는 파일 객체에 대한 포인터 서명이 있습니다. 마지막 세 개의 인수는 NULL
으로 남겨 둘 수 있습니다. 이 함수는 생성 된 X509
개체에 대한 포인터를 반환하거나 오류시 NULL
을 반환합니다.
두 번째 경우 인증서 파일은 소위 DER 양식입니다. 텍스트 편집기에서 인증서를 열고 약간의 가비지를 볼 경우, 아마도 DER 파일 일 것입니다. 이 경우, 원하는 기능을 당신은 두 번째 인수 NULL
을 떠날 수 있어야한다 서명
X509 *d2i_X509_fp(FILE *fp, X509 **x);
있습니다. 이 함수는 생성 된 X509
개체에 대한 포인터를 반환하거나 오류시 NULL
을 반환합니다.
공식 OpenSSL 설명서는 잘 알려지지 않은 것으로 유명합니다. 좋은 레퍼런스 매뉴얼을 찾고 있다면 O'Reilly의 "OpenSSL을 사용한 네트워크 보안"(ISBN 978-0-596-00270-1)을 추천 할 수 있습니다. OpenSSL 0.9.6/0.9.7 용으로 작성되었으며 일부 주제 (예 : CRL)에 대해서는 완전히 다루지는 않지만 모든 중요한 사항을 다루고 예제 코드를 제공합니다. 무엇이라도 잃어버린 적은 도움이 될 것입니다. :)
- 1. Qt 리소스를 공유 라이브러리에서 초기화하는 방법은 무엇입니까?
- 2. NSMutableArray를 사용하여 NSData 객체를 초기화하는 방법은 무엇입니까?
- 3. AFNetworking에서 .cer 파일을 할당하는 방법은 무엇입니까?
- 4. 라이브러리에서 하나의 클래스를 초기화하는 방법은 무엇입니까?
- 5. AVCaptureMetadataOutput 객체를 초기화하는 방법은 무엇입니까?
- 6. Inno Setup을 사용하여 인증서 .cer 파일을 가져 오는 방법은 무엇입니까?
- 7. 알 수없는 인수로 객체를 초기화하는 방법은 무엇입니까?
- 8. 어레이에 널 객체를 초기화하는 방법은 무엇입니까?
- 9. null 값을 사용하여 문자열 객체를 초기화하는 방법은 무엇입니까?
- 10. bouncycastle 라이브러리에서 OpenSSL 버전이 사용됩니까?
- 11. 조건부로 객체를 초기화하는 방법
- 12. openSSL : 공개 키 암호화를 위해 키를 초기화하는 방법은 무엇입니까? 공개 키 암호화에서 OpenSSL API를 사용하기 위해
- 13. 개체를 초기화하는 파일을 확인하는 방법은 무엇입니까?
- 14. XCode의 그룹에있는 모든 파일을 사용하여 배열을 초기화하는 방법은 무엇입니까?
- 15. OpenSSL 데이터가 충분하지 않습니다.
- 16. 자바 스윙 라이브러리에서 파일을 찾는 방법은 무엇입니까?
- 17. cer 파일이있는 X509Certificate2 ctor
- 18. 명명 된 매개 변수를 사용하는`HashTable` 객체를 초기화하는 방법은 무엇입니까?
- 19. 배치 파일에서 openssl 핸드 셰이크를 종료하는 방법은 무엇입니까?
- 20. 런타임에서 as3을 사용하여 라이브러리에서 객체를 나열하는 방법
- 21. OpenSSL 라이브러리에서 BIO_new_socket 함수가 정의되지 않았습니다.
- 22. subThoroughFare 속성을 사용하여 MKPlacemark를 초기화하는 방법은 무엇입니까?
- 23. UIInterfaceOrientationLandscapeLeft를 사용하여 UIViewController를 초기화하는 방법은 무엇입니까?
- 24. UISearchDisplayController를 사용하여 검색을 미리로드하거나 초기화하는 방법은 무엇입니까?
- 25. pickle()을 사용하여 인스턴스를 초기화하는 방법은 무엇입니까?
- 26. MEF를 사용하여 클래스 그룹을 초기화하는 방법은 무엇입니까?
- 27. COM 기반 라이브러리를 초기화하는 "표준"방법은 무엇입니까
- 28. 어머니의 인스턴스 메소드를 호출하는 객체를 초기화하는 올바른 방법은 무엇입니까?
- 29. hadoop에서 initialize 메서드를 통해 DistributedFileSystem 객체를 초기화하는 방법은 무엇입니까?
- 30. Groovybean을 초기화하는 방법은 무엇입니까?
Thank you! 훌륭한 대답, 정확히 내가 필요로하는 것. –