为什么SSL证书使用私钥签名?

问题描述:

据我所读的所有SSL证书使用非对称pub/priv密钥对的公钥进行签名。为什么SSL证书使用私钥签名?

但所有(ATLEAST我选中)的例子在那里互联网上使用,我发现了自己签名的私钥

一种方法是使用下面的命令:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 

其他的方式,我发现是:

sudo openssl genrsa -out mykey.key 2048 
sudo openssl req -new -key mykey.key -out mycsr.csr 
sudo openssl x509 -req -days 365 -in mycsr.csr -signkey mykey.key -out mycert.crt 

以上示例使用公钥来创建证书或私钥。如果私钥,它是一个正确的用法?

一件事,

是从什么自签署VS CA签名证书的区别。
证书中是否存在签名授权的其他信息?

CA签名实际上是什么意思?
他们是否使用他们自己的私钥进行签名或是什么?

编辑

上述声明As far as I read是从以下网站点#2。 我可以理解其说法完全错误的,因为我很新的

http://tldp.org/HOWTO/SSL-Certificates-HOWTO/x64.html

如果私钥用于签名的证书,也同样的私钥是在Apache HTTP服务器配置中使用SSL概念我还从那里将在浏览器中得到在其最初的SSL握手

我指的是阿帕奇的httpd以下配置的公共密钥困惑

<VirtualHost 192.168.0.1:443> 
    DocumentRoot /var/www/html2 
    ServerName www.yourdomain.com 
    SSLEngine on 
    SSLCertificateFile /path/to/your_domain_name.crt 
    SSLCertificateKeyFile /path/to/your_private.key 
    SSLCertificateChainFile /path/to/DigiCertCA.crt 
</VirtualHost> 

UPDATE:

我特意指着它指出

这个人上面的链接的section 1.2.2,你必须绝对地信任:您在浏览器中装入他/她的证书(一个根证书)。证书包含有关证书所有者的信息,如电子邮件地址,所有者姓名,证书使用情况,有效期限,资源位置或可分辨名称(DN),其中包括通用名称(CN)(网站地址或e邮件地址取决于使用情况)以及证明(签署)此信息的人员的证书ID。 它还包含公钥,最后是哈希以确保证书没有被篡改。

+2

'所有的SSL证书使用公共key'你读这哪里签字?数字签名仅使用私钥。公钥只用于验证签名。 – Crypt32

+0

区别在于自签名时,“主题”和“发行人”字段相同。否则,它是CA签名的。 CA将其名称放在'Issuer'字段中。浏览器通过共同映射这些字段,将自签名与CA签名的证书区分开来。 – Crypt32

+1

dowvoted为“据我读” - 请提供此信息的来源,因为它要么是错误的,或者你误会了吧。也因为将多个问题放到一个问题而被低估。 –

为什么SSL证书使用私钥签名?

因为这就是数字签名的定义方式。使用公钥签名并不能证明任何事情。数字签名必须是只有签名者才能做的事情,就像您在支票上的签名只是难以伪造。更难了。

据我所读的所有SSL证书都使用非对称pub/priv密钥对的公钥进行签名。

不,你没有,你误解你在读什么。

但所有(ATLEAST我选中)的例子在那里互联网上使用私钥

当然。

以上示例使用公钥来创建证书或私钥。如果私钥,它是一个正确的用法?

他们使用两者。公钥被嵌入到证书中,并使用私钥对其进行签名。

自签名和签名证书的区别是什么? 证书中是否存在签名机构的其他信息?

是的,有一个IssuerDN字段。

CA签名实际上是什么意思?他们是否使用自己的私钥进行签名?

是的。

以上声明据我所知是从以下网站的第2点。

不,它不是。

我可能是完全错误的

没错。

如果私钥用于签名的证书,也同样的私钥是在Apache HTTP服务器配置使用我还是从那里将在浏览器中得到的公钥在其最初的SSL握手困惑

来自证书。

我特意指着它指出上面的链接的部分1.2.2

[剪断]它还包含了公共密钥和最后一个散列以确保证书还没有被篡改用。

没有什么有关于签订使用公钥证书。 '包含'并不意味着'与'签署'。

+0

最后一个问题: 这些是用于生成签名证书的命令。 '须藤OpenSSL的REQ -new -key mykey.key退房手续mycsr.csr' '须藤OpenSSL的X​​509 -req -days 365 -in mycsr.csr -signkey mykey.key退房手续mycert.crt' **凡我们是否在证书生成中输入公钥**,以便浏览器从证书中获取?在所有命令中,我们只传递私钥 – user3151330

+0

@ user3151330'mykey.key'是关键对*,而不仅仅是公钥。不要让它逃脱。 – EJP