使用openssl生成sha256自签名证书

首先建立ca

生成 RSA 密钥对:

openssl genrsa -out ca.key 2048

若想对私钥进行加密可以加上 -des3 参数

生成 ca crt:

openssl req -new -x509 -days 365 -key ca.key -out ca.crt

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
Country Name (2 letter code) [XX]:CN # 国家代码
State or Province Name (full name) []:XX # 省份
Locality Name (eg, city) [Default City]:XX # 城市
Organization Name (eg, company) [Default Company Ltd]:XX # 组织名称
Organizational Unit Name (eg, section) []:XX # 组织单元名称
Common Name (eg, your name or your server’s hostname) []:XX # 由此ca签的证书颁发者名
Email Address []:[email protected] #使用者的邮箱

sha256

站点证书的生成

生成证书的RSA 密钥(当然你要是很懒同时测试使用,也可以直接使用CA的KEY)

openssl genrsa -out xxx.key 2048

生成csr证书(假设需要签SSL证书的域名为: yoursafe.cn):

openssl req -new -key xxx.key -subj "/C=CN/ST=XX/L=XX/O=XX/OU=XX/CN=XX" -sha256 -out xxx.csr

注:中间的参数请参考上方,使用 -subj 可以简化一些证书信息的录入过程,使用 -sha256 将采用sha256加密,openssl默认采用sha1加密,而现代已将 sha1 加密方式认定为非安全,故使用sha2。

检查 csr 的正确性:

openssl req -in xxx.csr -text

检查其中 Signature Algorithm 是不是 sha256WithRSAEncryption。

利用 ca 生成 crt:

openssl x509 -req -days 365 -in xxx.csr -CA ca.crt -CAkey ca.key -sha256 -out xxx.crt

检查 crt 的正确性:

openssl x509 -in xxx.crt -text

同样检查 Signature Algorithm 是不是sha256WithRSAEncryption。

相关推荐:
iOS 10出来之后很多都会使用DFU模式或iTunes重新刷机,但近期发现比较多在Mac系统上出现“iTunes无法验证服务器"s.mzstatic.com"的身份”、“iTunes无法联接更新服务器”。 简单地说就是服务器证书无效。 出现 …
开始→设置→控制面板→管理工具→服务,打开后,在右边的窗口中右击“Application Layer Gateway Service”服务,选择“属性”。 1、禁用Windows自带防火墙服务 开始→设置→控制面板→管理工具→服务,打开后,在右边 …
苹果手机在使用过程中会因为应用的兼容性等一系列的问题导致机子卡死等,还有可能像手机网络异常等情况下,用户可以通过“硬重启”设备来解决这些问题。 而需要注意的是,前几代iPhone重启是同时按住电源键和 …
首先很明显地说明了设置的索引太长,太长就会导致性能问题,所以就提示咯。而对于varchar(200)以上字符的字段,没有必要做那么长的索引,可以阶段的(部分),修改为: 字段如下: f_type int(11), f_key v …
.NET框架(.NET Framework) 是由微软开发,一个致力于敏捷软件开发(Agile softwaredevelopment)、快速应用开发(Rapidapplication development)、平台无关性和网络透明化的软件开发平台。.NET是微软为下一个 …
拿起手机扫一扫即可带走我!