美文网首页
HTTPS SAN自签名证书

HTTPS SAN自签名证书

作者: 睡饱就吃 | 来源:发表于2019-01-04 17:24 被阅读0次

人工置顶

正常情况下请不要使用自签名证书,因为自签的证书需要用户安装证书才能得到信任,而且维护起来也比较麻烦
let`s encrypt提供免费的证书 https://github.com/certbot/certbot
但是有的场景let`s encrypt不支持,可以使用自签名证书或者交钱去CA机构买证书

CA根证书制作

#1.生成根证书密钥
$ openssl genrsa -out ca.key 4096 #建议长度为4096,1024长度已经被列为不安全。
#2.生成自签名根证书
$ openssl req -new -x509 -days 3650 -key ca.key -out ca.crt #这里在输入CommonName的时候输入名称而不是域名或者ip,就是证书上显示的颁发者,虽然是自签名证书,但是尽量让证书看起来标准一些

使用根证书来签名其它证书

1.生成证书密钥

$ openssl genrsa -out server.key 4096

2. Subject Alt Name(SAN)
高版本的Chrome浏览器会要求设置subjectAltName,如果没有设置SAN会报证书错误
参考openssl配置文件,Linux服务器上通常在/etc/pki/tls/openssl.cnf
新建文件san.conf

[req]
default_bits = 4096
distinguished_name = req_distinguished_name
req_extensions = v3_req
 
[req_distinguished_name]
countryName = country
stateOrProvinceName = province
localityName = city
organizationName = company name
commonName = domain name or ip
 
[v3_req]
subjectAltName = @alt_names

[alt_names]
NDS.1=domain #可以使用通配符
IP.1=xxx.xxx.xxx.xxx

3. 生成证书签名请求(CSR)
向根证书请求签名一个新的证书,由于用户信任了你的根证书,所以根证书签名的其它证书也会被信任

# 生成csr 注意要使用sha256算法(推荐是sha256算法,默认算法浏览器会报弱加密算法错误)
$ openssl req -new -key server.key -out server.csr -config san.conf -sha256
# 查看csr信息
$ openssl req -text -in server.csr

csr信息中会有类似的信息

Requested Extensions:
            X509v3 Subject Alternative Name: 
                IP Address:xxxxxx

4.使用根证书按照csr给证书签名,生成新证书server.crt
这里serial参数需要全局唯一,否则在同一台设备上使用serial值相同的证书会冲突。

$ openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt -extfile san.conf -extensions v3_req

查看证书信息

$ openssl x509 -text -in server.crt

证书信息中会有类似信息

X509v3 extensions:
            X509v3 Subject Alternative Name: 
                IP Address:xxxxxx

说明

以上操作均在centos7.2环境下测试通过
mac买不起
windows懒得去试了

参考文章

相关文章

  • HTTPS SAN自签名证书

    人工置顶 正常情况下请不要使用自签名证书,因为自签的证书需要用户安装证书才能得到信任,而且维护起来也比较麻烦let...

  • 一键自签本地自签名SAN域名证书HTTPS工具(最新版Chrom

    一键自动生成本地自签名SAN域名证书工具 原生OpenSSL生成自签名SAN CA域名(V3签名),在Linux、...

  • 踩坑记

    1、android自签名证书Glide加载不出图片 关于https中自签名证书的介绍以及OkHttp中解决自签名证...

  • openssl https 自签名证书

    创建自己的证书颁发机构(CA) openssl req -x509 -nodes-sha256-days 365 ...

  • Java自签名https证书

    HTTPS搭建方案 一、 操作步骤 进入jdk的安装目录,切换到bin目录下,然后按顺序执行如下的命令1、 ...

  • 自签名证书适配https

    最近项目中,需要使用自签名的 HTTPS 证书实现双向认证。网上的资料很多,但是存在各种各样的问题,与 iOS 版...

  • 信任自签名https证书

    For mac 用safair 打开需要信任的自签名https网站 此时访问链接出现 此连接非私人连接 , 点击 ...

  • Netty中自签名证书的颁发

    概要 自签名证书的用途一般我们需要注册CA证书给网站添加HTTPS,不过本地测试的时候,我们可以使用自签名证书。自...

  • nginx配置自签名https

    nginx配置https是需要CA颁发证书的,为了测试方便,我们可以使用自签名证书1.如何生成自签名证书1.1:我...

  • 2019-03-05

    ubuntu 配置自签名数字证书开启https服务 1. 生成证书:自签名数字证书的生成跟MacOS一样,可以参见...

网友评论

      本文标题:HTTPS SAN自签名证书

      本文链接:https://www.haomeiwen.com/subject/nbqkrqtx.html