在本地主机上获取ssl证书



我正在创建come-server客户端应用程序,我想获得证书。我试着找到一些教程,例如我发现了这个:

openssl req -x509 -out localhost.crt -keyout localhost.key 
-newkey rsa:2048 -nodes -sha256 
-subj '/CN=localhost' -extensions EXT -config <( 
printf "[dn]nCN=localhostn[req]ndistinguished_name = dnn[EXT]nsubjectAltName=DNS:localhostnkeyUsage=digitalSignaturenextendedKeyUsage=serverAuth")

但我得到了"找不到文件"。请告诉我怎么做。

使用EasyRSA可能是最容易的,这样你就可以设置一个CA,然后根据需要签署尽可能多的证书,并获得一个可以插入客户端的密钥,这样他们就不会再抱怨自签名证书了。

它与OpenVPN一起分发,但在没有OpenVPN的情况下可以轻松使用。

请记住,现代浏览器想要一个SAN(使用者备用名称(,如果只有CN(通用名称(,他们会不高兴。

https://github.com/OpenVPN/easy-rsa

如何:

  • 在vars文件中设置变量

  • 初始化pki:

    ./easyrsa init-pki

  • 构建rootCA:

    ./easyrsa build-ca

  • 一次性生成密钥和证书,例如.com,也用于通配符

    ./easyrsa --subject-alt-name=DNS:example.com,DNS:*.example.com build-server-full example.com nopass

密钥和证书将在pki子目录中的树中。

使用以下代码生成证书。在文件夹中创建这些文件。使用命令提示符导航("cd"(到该文件夹,然后运行不带引号的"bash-generate.sh"。请注意,您需要安装bash。如果您已经安装了git-scm,那么您应该已经安装了bash。然后应该生成一个名为certificates的文件夹。如果你想git克隆GitHub项目,链接是https://github.com/micsel/generate-trusted-ssl-certificate

generate.sh

#!bin/bash
if [ ! -d $PWD/certificates ]; then
mkdir -p $PWD/certificates;
fi
openssl req 
-newkey rsa:2048 
-x509 
-nodes 
-keyout certificates/server.key 
-new 
-out certificates/server.crt 
-config ./openssl-custom.cnf 
-sha256 
-days 365
openssl req 
-newkey rsa:2048 
-x509 
-nodes 
-keyout certificates/key.pem 
-new 
-out certificates/cert.pem 
-config ./openssl-custom.cnf 
-sha256 
-days 365

openssl-custom.cnf

[req]
default_bits = 2048
prompt = no
default_md = sha256
x509_extensions = v3_req
distinguished_name = dn
[dn]
C = UK
L = Olathe
O = Dev
OU = Dev Department
emailAddress = youremail@yourdomain.com
CN = localhost
[v3_req]
subjectAltName = @alt_names
[alt_names]
DNS.1 = *.localhost
DNS.2 = localhost

相关内容

  • 没有找到相关文章

最新更新