OpenSSL生成自签名的sha256泛域名证书

环境:

CentOS 6.8 x86_64

安装

openssl openssl-devel

cp /etc/pki/tls/openssl.cnf openssl.cnf

修改openssl.cnf

[ req ]

distinguished_name = req_distinguished_name

req_extensions = v3_req  #取消这行注释

# 确保req_distinguished_name下没有 0.xxx 的标签,有的话把0.xxx的0. 去掉

[ req_distinguished_name ]

countryName              = Country Name (2 letter code)

countryName_default = CN

stateOrProvinceName             = State or Province Name (full name)

stateOrProvinceName_default = GuangDong

localityName              = Locality Name (eg, city)

localityName_default = ShenZhen

organizationalUnitName             = Organizational Unit Name (eg, section)

organizationalUnitName_default = 303 IT Lab

commonName         = IT Lab

commonName_max = 64

[ v3_req ]

# Extensions to add to a certificate request

basicConstraints = CA:FALSE

keyUsage = nonRepudiation, digitalSignature, keyEncipherment

subjectAltName = @alt_names    #增加这行

# 新增以下部分

[ alt_names ]

DNS.1 = abc.com

DNS.2 = *.abc.com

DNS.3 = xyz.com

DNS.4 = *.xyz.com

可以自行增加多域名

创建相关目录及文件

mkdir -p CA/{certs,crl,newcerts,private}

touch CA/index.txt

echo 00 > CA/serial

1.生成ca.key并自签署

openssl req -sha256 -new -x509 -days 3650 -keyout ca.key -out ca.crt -config openssl.cnf

2.生成server.key

openssl genrsa -out server.key 2048

3.生成证书签名请求

openssl req -new -sha256 -key server.key -out server.csr -config openssl.cnf

Common Name 就是在这一步填写 *.abc.com  common name一定要在alt_names中包含

4.查看签名请求文件信息

openssl req -in server.csr -text

检查 Signature Algorithm 是不是sha256WithRSAEncryptio

5.使用自签署的CA,签署server.scr

openssl ca -in server.csr -md sha256  -out server.crt -cert ca.crt -keyfile ca.key -extensions v3_req -config openssl.cnf

注意:即便是你前面是sha256的根证书和sha256的请求文件,如果不加-md sha256,默认是按照sha1进行签名的

6.查看证书

openssl x509 -in server.crt -text

同样检查 Signature Algorithm 是不是sha256WithRSAEncryptio

时间: 2024-08-27 17:42:07

OpenSSL生成自签名的sha256泛域名证书的相关文章

Nginx + Frp + Let'sEncrypt 泛域名证书

几个日夜,无数坑. 背景是: 目前有备案的域名只有一个,而这个已经在生产环境采用.所以如果要采用这个域名,将不得不用三级泛域名证书,形如*.dev.aaa.com. 由于首要目的是开发用(微信小程序),后台语言是asp.net core,出于开发方便考虑,Web服务器用Kestrel.(当然,最终解决方案于此无关) 阿里云服务器,CentOS 7.4,域名也在阿里云. 一开始用ngrok但始终不能成功,后改用Frp,确实比ngrok好很多,但依然无法配置成功https访问. 最终,采用Nginx

解读泛域名证书(通配符证书) 如何免费申请

泛域名SSL证书又叫通配符证书,Wildcard Certificates,申请这样的证书可以保护一个域名及该域名下的所有子域名.这样域名有证书加密传输的安全链接,也就形成了https加密链接形式,不但安全而且还不限制子域名的数量.一般会以通配符的形式(如:*.domain.com)来指定证书所要保护的域名. 例如,一个单独的通配符证书就可以保护 www.example.com a.example.com b.example.com api.example.com.通配符证书可以保护通用域名和您

轻松全站 HTTPS,还没用上 https (可申请泛域名证书)的朋友可以操练起来了

前言 注意:上 HTTPS 超级简单,写这么多,只是因为过程比较有趣,就多哆嗦了几句有了自己的博客:<极简博客搭建,搭建超级简单又好看>有了自己的图片处理服务:<搭建自己的图片处理服务 - 智能裁剪.旋转.占位一站搞定>都已经这么完美了,为什么还会有这篇文章呢?是对社会有什么不满意吗? 为什么要上 HTTPS 安全:你与用户之间的消息加密传输,防止中间人***(就是我遇到的问题)其它优点:当你在国内使用域名时,需要备案.有时你想测试一下你的站,用上未备案的域名,怎么办呢?https

lets encrypt 泛域名证书申请,使用acme,结合阿里云域名管理

第一步:下载acme.sh,以下四种方式都可curl https://get.acme.sh | sh wget -O - https://get.acme.sh | sh curl https://raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh | INSTALLONLINE=1 sh wget -O - https://raw.githubusercontent.com/Neilpang/acme.sh/master/acm

openssl生成自签名证书

1.生成x509格式的CA自签名证书 openssl req -new -x509 -keyout ca.key -out ca.crt 2.生成服务端的私钥(key文件)及申请证书文件csr文件 openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out server.csr 3.生成客户端的私钥(key文件)及申请证书csr文件 openssl genrsa -des3 -out client

openssl生成iis需要的pfx格式的证书

合成.pfx证书 将私钥文件(server.key)和服务器crt证书文件(server.crt ),放到openssl安装目录的bin目录下. 控制台也进到此目录下,然后执行下面指令. openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt 然后再看bin目录下面多了一个server.pfx 文件,即为生成的pfx证书文件 原文地址:https://www.cnblogs.com/Leechg/p/1014

用Keytool和OpenSSL生成和签发数字证书

一)keytool生成私钥文件(.key)和签名请求文件(.csr),openssl签发数字证书      J2SDK在目录%JAVA_HOME%/bin提供了密钥库管理工具Keytool,用于管理密钥.证书和证书链.Keytool工具的命令在JavaSE6中已经改变,不过以前的命令仍然支持.Keytool也可以用来管理对称加密算法中的密钥. 最简单的命令是生成一个自签名的证书,并把它放到指定的keystore文件中: keytool -genkey -alias tomcat -keyalg

Let&#39;sEncrypt 免费通配符/泛域名SSL证书添加使用教程

Wildcard certificate俗称野卡正式点一般称为通配符或泛域名证书,也就是为*.lnmp.org 签发包含所有子域名的SSL证书,从去年6.7月份左右就已经说过Let'sEncrypt将于2018年1月支持,但是几次放鸽子后最近终于证书支持了.通配符证书一般还是比较贵的一般最便宜的通配符证书5.60美元一年,只不过Let'sEncrypt的有效期是3个月,对于一般用户来说基本没差别. LNMP 1.5已经添加了对通配符证书的支持,生成通配符证书和Let'sEncrypt平常SSL证

申请泛域名SSL证书保护所有子域名

通常一个企业会因为业务需要解析很多子域名,而SSL证书网如果为每一个子域名都申请一张SSL证书来实现 https 加密访问未免太过浪费精力和金钱.这个时间就会用到“泛域名SSL证书”,通常称这种泛域名证书为通配符证书. 网络安全事件频发,媒体的大力倡导,安全厂商的卖力宣传和教育.网民用户的呼吁.网络巨头们的以身作则等都使https得到加速普及,SSL证书正在逐渐成为网站建设的一个标配了. 那么问题来了. 通常一个企业会因为业务需要解析很多子域名,而SSL证书网如果为每一个子域名都申请一张SSL证