Sam*_*Sam 4 ssl openssl cryptography ssl-certificate
我是OpenSSL工具的初学者.我不明白一些概念.你能解释一下这些概念吗?我想了解的概念,如CA,Self-Signed Certificate或为了更好的理解任何概念.
(对不起,如果我使用错误的术语或语法,我正在学习英语.)
证书的目的是以您可以验证的方式声明一条信息.公钥证书,更具体地说是此上下文中的X.509证书,断言公钥,标识符(主题专有名称和/或主题备用名称)与各种其他属性之间的绑定.总而言之,这些信息都是签名的,以便形成证书.
X.509证书同时具有发行者和主题.主题是表示该证书识别的人员或内容的标识符(以及与该证书中的公钥匹配的私钥的拥有者或拥有者).发行者表示使用其私钥对该证书进行签名的个人或组织的标识符.
证书使用可以大致分为两类:用于特定应用程序或服务的证书(例如,验证SSL/TLS服务器),以及用于证明其他证书有效性的证书.
对于后者,证书被用作公钥基础结构(PKI)的构建块.证书颁发机构(CA)是颁发证书的机构:它签署将证书中的公钥绑定到主题的断言.执行此操作时,它会在其颁发的证书中将其自己的名称作为颁发者名称.
如果您将证书与护照(将您的照片和姓名绑定在一起)进行比较,则CA将成为您的护照授权:实际证明护照所说的内容是真实的,以便其他人能够对其进行验证.
信任CA允许您信任它已颁发的证书.您可以在您信任的CA与此CA之前颁发的证书之间建立信任链.
随之而来的是"引导"问题:您如何信任CA本身?
自签名证书是发行人和主题相同的证书; 它们使用与其包含的公钥匹配的私钥进行签名.他们处于信任链的顶端.它们往往是CA证书(除非为特定服务定制,否则如果没有外部验证,您将无法信任).
CA证书是可用于颁发/验证其他证书的证书.(如果它们位于根/自签名CA证书与您要验证的证书之间的链中间,则它们可以是中间CA证书.)定义如何使用证书来验证其他证书的规则在PKIX规范(RFC 3280/5280).
浏览器和操作系统附带预先安装的CA证书列表,默认情况下您信任这些证书.这些主要是商业CA,它们通常需要付费才能检查证书中的服务信息.在对应方面,您可以信任他们发行的证书的内容(大多数情况下,它不是一个完美的系统).这里涉及"信仰的飞跃",因为您需要信任浏览器/操作系统仅包含信誉良好的CA证书.
如果您使用openssl s_client并且看到诸如"链中的自签名证书"或"无法验证证书"之类的消息,则不一定意味着出现问题,但openssl不使用预定义的可信CA列表证书默认.它的大多数命令都有类似-CAfile或CApath允许您指定您愿意信任的CA证书的选项.
服务的自签名证书是特定情况,其中服务自我声明其内容.您通常无法验证此类证书的真实性,除非您有外部信任方式(例如,如果您自己在计算机上安装它并更改手动检查其内容,或者您信任的人给它给你).
(您可能也对如何使用HTTPS服务器证书这个问题感兴趣.)
| 归档时间: |
|
| 查看次数: |
3938 次 |
| 最近记录: |