mac 開發環境安裝自簽名證書

天遠(yuǎn)科技  發表于:2022-07-07  分(fēn)類:操作(zuò)系統相關(guān)  閱讀(2042)  贊同28

最近使用electron開發客戶端,調用網絡的是後報(bào)Electron Security Warning,一(yī)想應該是本地測試環境用的是http而非https,之前chrome更新(xīn)的時(shí)候也(yě)強制https了(le),這(zhè)次索性使用https吧(ba)。

要讓開發環境使用https首先就(jiù)是要有一(yī)個(gè)簽名的證書,不多說(shuō)直接貼操作(zuò)過程。

1、首先編輯一(yī)個(gè)文件,命名成tynt.local.conf,你可以根據你自己需要命名,内容如(rú)下(xià)

[ 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  #城市(shì)
organizationName = Organization Name (eg, company)
organizationName_default = TYNT  #企業
commonName = Common Name (e.g. server FQDN or YOUR name)
commonName_default = tynt.local  #最好(hǎo)(hǎo)和測試域名一(yī)緻
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   #這(zhè)裏開啓泛域名,以後任意如(rú) test.tynt.cn就(jiù)可以使用這(zhè)個(gè)證書,注意這(zhè)裏改成你自己的地址
IP.1 = 127.0.0.1

2、執行ssl命令生(shēng)成key和證書,命令如(rú)下(xià):

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

上(shàng)面注意 config  為(wèi)上(shàng)面文件的名字,同步更改,keyout是輸出的key的名字,out是證書的名字,這(zhè)2個(gè)要配置到nginx中的,回車後一(yī)路(lù)回車最後目錄下(xià)就(jiù)生(shēng)成了(le)一(yī)個(gè)key和一(yī)個(gè)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.浏覽器(qì)中直接訪問 https://demo.tynt.local

會出現(xiàn)如(rú)下(xià)截圖,注意打開chrome的調試,點擊Security,再點擊view certifcate,在彈出證書窗口将左側證書圖标拉到你的目錄中


然後雙擊目錄中的證書文件,系統會打開鑰匙串并且在鑰匙串中顯示該證書,在鑰匙串中雙擊該證書,打開如(rú)下(xià)圖所示,将信任改成始終信任,關(guān)閉鑰匙串重新(xīn)刷新(xīn)浏覽器(qì)就(jiù)生(shēng)效了(le)。




在線聯系
點擊這(zhè)裏給我發消息
點擊這(zhè)裏給我發消息
關(guān)注我們