mac 开发环境安装自签名证书

天远科技  发表于:2022-07-07  分类:操作系统相关  阅读(2212)  赞同28

最近使用electron开发客户端,调用网络的是后报Electron Security Warning,一想应该是本地测试环境用的是http而非https,之前chrome更新的时候也强制https了,这次索性使用https吧。

要让开发环境使用https首先就是要有一个签名的证书,不多说直接贴操作过程。

1、首先编辑一个文件,命名成tynt.local.conf,你可以根据你自己需要命名,内容如下

[ req ]
default_bits = 2048
default_keyfile = local.pem
distinguished_name = subject
req_extensions = req_ext
x509_extensions = x509_ext
string_mask = utf8only
[ subject ]
countryName = Country Name (2 letter code)
countryName_default = CN
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = ZJ  #省份
localityName = Locality Name (eg, city)
localityName_default = Tong xiang  #城市
organizationName = Organization Name (eg, company)
organizationName_default = TYNT  #企业
commonName = Common Name (e.g. server FQDN or YOUR name)
commonName_default = tynt.local  #最好和测试域名一致
emailAddress = Email Address
emailAddress_default = cto@tynt.cn
[ x509_ext ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment
subjectAltName = @alternate_names
nsComment = "OpenSSL Generated Certificate"
[ req_ext ]
subjectKeyIdentifier = hash
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment
subjectAltName = @alternate_names
nsComment = "OpenSSL Generated Certificate"
[ alternate_names ]
DNS.1 = *.tynt.local   #这里开启泛域名,以后任意如 test.tynt.cn就可以使用这个证书,注意这里改成你自己的地址
IP.1 = 127.0.0.1

2、执行ssl命令生成key和证书,命令如下:

openssl req -config tynt.local.conf -new -sha256 -newkey rsa:2048 -nodes -keyout tynt.local.key -x509 -days 1825 -out tynt.local.pem

上面注意 config  为上面文件的名字,同步更改,keyout是输出的key的名字,out是证书的名字,这2个要配置到nginx中的,回车后一路回车最后目录下就生成了一个key和一个pem文件。


3、配置nginx

server {
        listen  443 ssl;
        server_name demo.tynt.local;
        ssl_certificate /Users/charles_li/project/system/cert/tynt.local.pem;
        ssl_certificate_key /Users/charles_li/project/system/cert/tynt.local.key;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM;
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;


3.浏览器中直接访问 https://demo.tynt.local

会出现如下截图,注意打开chrome的调试,点击Security,再点击view certifcate,在弹出证书窗口将左侧证书图标拉到你的目录中


然后双击目录中的证书文件,系统会打开钥匙串并且在钥匙串中显示该证书,在钥匙串中双击该证书,打开如下图所示,将信任改成始终信任,关闭钥匙串重新刷新浏览器就生效了。

博文分类

线

在线联系
点击这里给我发消息
点击这里给我发消息
关注我们