http://www.openssl.org/docs/apps/ocsp.html에 설명 된 openssl ocsp 프로그램은 클라이언트가 인증서와 CA 인증서를 ocsp resopnder로 보내야합니다. 그러나 OCSP에 대한 RFC 2560에서는이를 요구하지 않습니다. OCSP 응답자가 CA 인증서로 사전 구성되어 클라이언트가 보낸 인증서에서 특정 CA를 찾을 수 없습니까? 답해 주셔서 감사합니다.openssl이 OCSP 프로토콜로 CA 인증서를 전송하는 이유
답변
openssl ocsp 응용 프로그램은 실제로 전체 발급자 인증서를 응답자에게 보내지 않습니다. 당신이 CertID (RFC 2560)의 정의를 보면
CertID ::= SEQUENCE {
hashAlgorithm AlgorithmIdentifier,
issuerNameHash OCTET STRING, -- Hash of Issuer's DN
issuerKeyHash OCTET STRING, -- Hash of Issuers public key
serialNumber CertificateSerialNumber }
두 발행 관련 분야, issuerNameHash 및 issuerKeyHash이있다. openssl ocsp 명령은 편의상 모든 발급자 인증서를 사용하고 해당 인증서를 사용하여 최종 요청에 대해이 두 필드를 생성합니다.
대부분의 CA는 "루트 인증서"에 대해 여러 개의 하위 CA 인증서를 발행하므로 일반적으로 단일 CA 인증서에 대해 OCSP 응답자를 미리 구성 할 수 없습니다. 즉, CA는 일반적으로 이름에 단일 CA 인증서 루트가 있고 이 루트 인증서에 따라 여러 하위 CA 인증서를 자체 발행합니다 (예 : 하위 1, 하위 2 등. 관리 또는 의미 론적 의미와 별개로 하위 CA 중 하나에 대한 주요 위험이 루트 인증서보다 덜 심각한 추가 이점이 있습니다. 일상 업무는 하위 CA의 이름으로 이루어 지지만 루트 키는 하위 CA 인증서를 갱신하기 위해 한 번만 사용되며 나머지 시간은 가능한 한 안전하게 유지할 수 있습니다.
OCSP 응답자는 검사 할 인증서를 발급 한 하위 CA를 쉽게 구분할 수 없으며 검사 할 클라이언트 인증서 해지를 결정할 때 해당 정보가 필요합니다.
응답자가 일련 번호만으로이를 확인할 수 있다고 주장 할 수 있습니다.하지만 이는 발행자 과의 일련 번호가 고유하게 인증서를 식별 할 수있는 이유입니다. 두 개의 CA (시나리오 하위 CA)는 동일한 일련 번호가있는 인증서를 발급합니다. 이것이 프로토콜이 클라이언트에게 발급자 정보를 보내도록 요구하는 이유입니다.
- 1. OpenSSL이 자신의 CA에서 인증서를 확인하십시오
- 2. 하나의 프로토콜에서 다른 프로토콜로 데이터를 전송하는 중?
- 3. VeriSign의 중급 CA 인증서를 설치하는 방법?
- 4. 베리사인 OCSP 서버에 인증서를 확인 내가 예를 들어,이 발행하는 인증서를 확인하기 위해 Verisign의 OCSP 서버를 사용하려고 해요
- 5. Java에서 OCSP 서명 인증서를 읽을 때 예외가 발생했습니다.
- 6. OpenSSL을 사용하는 Java OCSP 클라이언트
- 7. 수작업 프로토콜로 비디오 전송하기
- 8. 는 CA 인증서
- 9. 실행에 내 CA
- 10. AnkhSVN CA 인증서는 어디에 저장됩니까?
- 11. 트러스트 스토어에 하위 CA 인증서가 필요합니까?
- 12. TSP, OCSP 및 CMS의 Java 구현
- 13. 다른 프로토콜로 XMPP 전송
- 14. PHP Openssl이 왜 로딩되지 않습니까?
- 15. CA (인증 기관)는 CSR에서 무엇을 제공합니까?
- 16. 재설치 중 CA 조건
- 17. Windows에서 StartCom CA 인증서 가져 오기 JRE
- 18. 프로그래밍 방식으로 iPhone의 신뢰 저장소에 루트 CA 인증서 추가하기
- 19. 꼬인 프로토콜로 함수를 주기적으로 실행하기
- 20. HTTP보다 다른 프로토콜로 Three20 사용
- 21. keytool 명령 줄 유틸리티를 사용하지 않고 새 Java CA 인증서를 가져 오는 방법은 무엇입니까?
- 22. CA 인증서를 만드는 x.509 V3 확장 기본 제약 조건과 키 사용법의 차이점은 무엇입니까?
- 23. openssl에서 선택적 인증서를 얻는 방법
- 24. 어떻게 파이썬에서 SSL 인증서를 확인합니까?
- 25. Win32의 코드를 통해 루트 CA 인증서 설치
- 26. OCSP 응답에서 responderID를 사용하는 것은 무엇입니까?
- 27. iPhone NSURLConnection을 사용하는 응용 프로그램에 대한 iPhone Custom CA 인증서?
- 28. C++/OpenSSL : 파일이 아닌 버퍼에서 루트 CA 사용 (SSL_CTX_load_verify_locations)
- 29. OpenSSL이 클라이언트와 서버 간의 연결을 설정합니다.
- 30. 레일 3, 메일 및 OpenSSL이 문제
종합적인 답변을 보내 주셔서 감사합니다. 이 경우 가능한 시나리오는 a) 취소 상태가 확인되는 인증서를 받음 b) 인증서에서 발급자 인증서가 결정되고 c) 발급자 인증서가 openssl ocsp 프로그램에 제공됩니다. 문제는 단계 (b)에서 인증서에서 발급자 인증서를 얻는 방법을 알지 못해서 클라이언트로부터 발급자 인증서를 얻고 싶지 않다는 것입니다. 답변을 주셔서 감사합니다 – doon
a) - c) 수동 또는 프로그래밍 방식으로? 프로그램 방식으로, 어떤 언어로? – emboss