저는 초보자 인 OpenSSL
도구입니다. 나는 몇 가지 개념을 이해하지 못한다. 이 개념들을 나에게 설명해 주시겠습니까? 보다 나은 이해를 위해 CA
, Self-Signed Certificate
또는 기타 개념과 같은 개념을 이해하고자합니다. OpenSSL에서 자체 서명 된 인증서의 의미
답변
인증서의 목적은 사용자가 확인할 수있는 방법으로 정보를 표시하는 것입니다. 이 문맥에서 공개 키 인증서, 특히 X.509 인증서는 공개 키, 식별자 (주체 고유 이름 및/또는 주체 대체 이름) 및 다양한 기타 특성 간의 바인딩을 나타냅니다. 전체적으로, 이러한 정보는 인증서를 형성하기 위해 서명됩니다.
X.509 인증서에는 발급자와 제목이 모두 있습니다. 주체는 해당 인증서가 누구인지 또는 무엇을 식별하는지 (그리고이 인증서의 공개 키와 일치하는 개인 키를 소유하거나 소유하는 사람)를 나타내는 식별자입니다. 발급자는 개인 키를 사용하여이 인증서에 서명 한 사람 또는 조직의 식별자를 나타냅니다.
인증서 사용은 크게 두 가지 카테고리로 나눌 수 있습니다. 특정 응용 프로그램 또는 서비스 (예 : SSL/TLS 서버 인증)에 사용되는 인증서 및 다른 인증서의 유효성을 증명하는 데 사용되는 인증서입니다.
인증서는 공개 키 인프라 (PKI)의 구성 요소로 사용됩니다. 인증 기관 (CA)은 인증서를 발행하는 기관입니다. 인증서의 공개 키를 제목에 바인딩하는 주장에 서명합니다. 그렇게하면 발행 한 인증서의 발급자 이름으로 자신의 이름을 넣습니다.
인증서를 여권 (사진과 본인의 이름을 묶는)과 비교하면 CA는 여권 기관이됩니다. 실제로 여권에서 말하는 내용이 사실인지, 다른 사람이 확인할 수 있는지 그것.
CA를 신뢰하면 발급 한 인증서를 신뢰할 수 있습니다. 신뢰할 수있는 CA와 이전에 보지 못했던이 CA에서 발급 한 인증서간에 신뢰 체인을 구축 할 수 있습니다.
이와 함께 "부트 스트랩"문제가 발생합니다. CA를 어떻게 신뢰합니까?
자체 서명 인증서는 발급자와 주체가 동일한 인증서입니다. 자신이 가지고있는 공개 키와 일치하는 개인 키로 서명됩니다. 그들은 신뢰의 윗부분에 있습니다. 이들은 CA 인증서 인 경향이 있습니다 (특정 서비스에 대한 맞춤식이 아닌 경우 외부 인증 없이는 신뢰할 수 없습니다).
CA 인증서는 다른 인증서를 발급/유효화하는 데 사용할 수있는 인증서입니다. (루트/자체 서명 CA 인증서와 확인하려는 인증서 사이의 체인 중간에 중간 CA 인증서가있을 수 있습니다.) 다른 인증서를 확인하는 데 인증서를 사용하는 방법을 정의하는 규칙은 PKIX specification (RFC 3280/5280).
브라우저 및 운영 체제에는 기본적으로 신뢰할 수있는 사전 설치된 CA 인증서 목록이 함께 제공됩니다. 이들은 주로 인증서로 서비스에 대한 정보를 확인하는 상용 CA입니다. 상대방은 자신이 발급 한 인증서의 내용을 신뢰할 수 있습니다 (대부분의 경우 완벽한 시스템이 아닙니다). 신뢰할 수있는 CA 인증서 만 포함하도록 브라우저/OS를 신뢰해야하므로 "믿음의 도약"이 여기에 포함됩니다.
openssl s_client
을 사용하고 "체인에 자체 서명 된 인증서"또는 "인증서를 확인할 수 없음"과 같은 메시지가 표시된다고해서 반드시 잘못된 것은 아니지만 openssl
은 pre를 사용하지 않습니다. 기본적으로 신뢰할 수있는 CA 인증서의 정의 목록입니다. 대부분의 명령에는 -CAfile
또는 CApath
과 같은 옵션이있어서 신뢰할 수있는 CA 인증서를 지정할 수 있습니다.
서비스에 대한 자체 서명 된 인증서는 특정 경우이므로 서비스에서 자체 내용을 자체적으로 표명합니다. 외부의 트러스트 방법을 사용하지 않는 한, 일반적으로 인증서의 진위 여부를 확인할 방법이 없습니다 (예를 들어, 직접 시스템에 설치하고 내용을 수동으로 변경 한 경우 또는 신뢰할 수있는 사람이 인증서를 준 경우 너에게).
(당신은 또한 HTTPS 서버 인증서를 사용하는 방법에 대한 this question에 관심이있을 수 있습니다.)좋은 답변에 감사드립니다. – MJM
는 일반적으로 인증서의 목적은 신뢰 체인을 구축하는 것입니다 : "이 제 3 자 회사를 신뢰, 그들은 신뢰 너를 믿을 수있어. " 자체 서명 인증서는 귀하가 직접 생성했음을 의미하므로 실제로 귀하를 신뢰하지 않습니다. (이것들은 테스트 용으로 훌륭하지만 다른 것은별로 없습니다.) 다른 유형은 믿을 수있는 회사입니다. Verisign과 같이 평판 좋은 회사에서 판매 할 수 있습니다. 그것은 상품 시장이기 때문에 가격은 회사간에 상당히 일치합니다. 의도 된 용도와 인증서의 범위에 따라 다릅니다. (예 : Android 앱에 서명하는 인증서는 https://www.example.com/을 확인하는 데 사용되는 인증서와 매우 다릅니다.)
"CA"또는 인증 기관은 인증서를 발급 한 회사입니다. 신뢰할 수있는 인증서의 경우 해당 회사입니다 (예 : Verisign. 자체 서명 된 인증서의 경우 CA는 귀하가 인증서를 발급 한 것입니다.
자체 서명 인증서는 대부분의 브라우저에서 일종의 "신뢰할 수없는"경고를 유발하고 계속 진행할지, 예외를 추가 할지를 묻습니다. 이는 연결 보안이 덜 안전하다는 의미는 아닙니다. 여전히 SSL을 통해.
일반적으로 CA는 수수료를 부과하지만 검색 할 때 무료로 사용할 수 있습니다.
- 1. httpclient 및 자체 서명 된 인증서의 문제점
- 2. 자체 서명 된 인증서의 보안 예외 만들기
- 3. C++에서 자체 서명 된 인증서의 "인증서 확인"을 무시하십시오.
- 4. OpenSSL에서 ECDSA를 사용하여 메시지 서명
- 5. 자체 서명 된 인증서
- 6. 잘못된 서명, 자체 서명 된 인증서?
- 7. IIS 7.0에서 자체 서명 된 인증서 문제
- 8. 프로덕션에서 자체 서명 된 인증서
- 9. 자체 서명 된 인증서 사용
- 10. 자체 서명 된 인증서 문제
- 11. iframe의 자체 서명 된 SSL 인증서
- 12. X509Certificate 또는 다른 .NET 클래스를 사용하여 자체 서명 된 인증서의 서명을 얻는 방법?
- 13. ios 자체 서명 인증서
- 14. X509TrustManager를 사용하여 자체 서명 된 인증서 유효성 검사 : checkServerTrusted
- 15. iOS 자체 서명 CA 인증서 및 자체 생성 인증서
- 16. HTTPS 자체 서명 인증서
- 17. 자체 서명 생성 인증서 정보 변경
- 18. 자체 서명 인증서로 서명 된 바이너리를 확인하는 방법은 무엇입니까?
- 19. Mercurial을 수락하려면 자체 서명 된 인증서
- 20. Android WPA/8021X 자체 서명 된 인증서
- 21. WCF, 자체 서명 된 인증서 암호화
- 22. HTTPS 및 자체 서명 된 인증서 문제
- 23. 자체 서명 된 인증서가있는 SSL을 통한 OpenID
- 24. ID 페더레이션 시나리오에서 자체 서명 된 인증서
- 25. 자체 서명 된 동일한 인증서가있는 여러 서비스
- 26. 자체 서명 된 인증서로 인증서 인증
- 27. 자체 서명 된 인증서로 로그인, https
- 28. 내보낼 수있는 자체 서명 된 인증서 만들기
- 29. Internet Explorer에서 자체 서명 된 ActiveX를 차단합니다.
- 30. 디지털 자체 서명 된 인증 업데이트 만료일
u는 PKI (공개 키 인프라)를 이해할 필요가있다. 인증서를 이해하려면 ... – Balamurugan