我需要HTTPS服务器的SSL证书。 我想提供自签名和CA签名证书之间的select。
我可以用下面的OpenSSL命令生成一个自签名的SSL证书:
openssl req -newkey rsa:512 -x509 -days 365 -nodes -out cert.pem -keyout cert.pem openssl dhparam -inform pem -in cert.pem -outform pem -out dhparam.pem 512 cat dhparam.pem >> cert.pem
如果我想要一个CA签名的证书,我可以生成一个CSR(证书签名请求):
openssl req -newkey rsa:512 -nodes -out cert.csr -keyout cert.key
并将其发送给一个CA. 接着 ? 我想知道CA在发回什么:只有证书或证书和 DH参数,因为它们用于浏览器和服务器之间的协商?
[被StackOverflow问 ]
编辑:它似乎CAs只提供证书,这意味着我需要连接
有人可以确认吗?
是的,证书颁发机构接受您的证书签名请求并生成签名证书,然后在您的网站上使用该证书。 DH参数不是证书特定的,所以CA没有理由介入,显然把你的密钥发送给任何人是一个坏主意。
证书只是一个数字签名,可以“validation”您的公钥的值(CN,OU,到期等),并经过CAvalidation。 我不确定你的'concatenate'的意见,但你基本上已经明白了。
在您的最后设置和指定其他所有内容 – 私钥(在服务器上保密),公钥(发送给请求的所有人)以及SSL协商参数(由您的Web服务器软件设置)。
(根据我的经验,混淆通常是由于密钥,签名,证书,CSR等可以存储在各种不同格式的文件中)。