如何使用OpenSSL创建自签名证书LenixBlog

在本指南中,我们提供了有关如何使用OpenSSL实用程序创建自签名证书的分步指南。您可以按照本指南使用命令创建自签名证书或使用shell脚本自动创建自签名证书。

自签名证书是未经公共或私有证书颁发机构签名的SSL/TSL证书。相反,它由创建者自己的个人或根CA证书进行签名。

以下是我们向Verisign或comodo等知名证书颁发机构请求付费SSL/TLS证书的操作。

但对于自签名证书,这就是我们所做的。

大多数浏览器和操作系统都保存所有受信任的认证机构的根CA证书的副本。这就是当您访问使用来自受信任且知名的商业证书颁发机构的SSL的标准网站时,浏览器不会显示任何安全消息的原因。

下图显示了Firefox浏览器中默认存在的根CA。

同时,如果您使用自签名证书,您的浏览器将抛出安全警告。原因是浏览器仅信任来自受信任证书颁发机构的SSL。例如,

YourconnectionisnotprivateAttackersmightbetryingtostealyourinformationfromdemo.apps.mlopshub.com(forexample,passwords,messagesorcreditcards)但您可以强制浏览器和操作系统接受我们自己的证书颁发机构。因此,安装CA证书并将其添加到受信任列表后,您将不会看到安全警告。您还可以与您的开发团队共享CA证书,以便在他们的浏览器中安装。

此外,您还可以使用此CA创建多个SSL证书。

如前所述,我们需要创建自己的根CA证书,以便浏览器信任自签名证书。因此,我们首先创建根CA证书。

让我们创建一个名为的目录openssl来保存所有生成的密钥和证书。

mkdiropenssl&&cdopenssl执行以下openssl命令来创建rootCA.key和rootCA.crt。替换demo.mlopshub.com为您的域名或IP地址。

opensslreq-x509-sha256-days356-nodes-newkeyrsa:2048-subj"/CN=demo.mlopshub.com/C=US/L=SanFransisco"-keyoutrootCA.key-outrootCA.crt我们将使用rootCA.key和rootCA.crt来签署SSL证书。

注意:如果出现以下错误,请注释RANDFILE=$ENV::HOME/.rnd行/etc/ssl/openssl.cnf

Can'tload/home/vagrant/.rndintoRNG使用OpenSSL创建自签名证书按照下面给出的步骤创建自签名证书。我们将使用在上一步中创建的我们自己的根CA注销证书。

opensslgenrsa-outserver.key20482.创建证书签名请求配置我们将创建一个csr.conf文件来包含生成CSR的所有信息。替换demo.mlopshub.com为您的域名或IP地址。

cat>csr.conf<3.使用服务器私钥生成证书签名请求(CSR)现在我们将server.csr使用以下命令生成。

opensslreq-new-keyserver.key-outserver.csr-configcsr.conf现在我们的文件夹应该有三个文件。csr.conf,server.csr和server.key

执行以下命令来创建cert.confSSL证书。替换demo.mlopshub.com为您的域名或IP地址。

cat>cert.conf<5.使用自签名CA生成SSL证书现在,执行以下命令来生成由我们自己的证书颁发机构签名rootCA.crt并创建的SSL证书。rootCA.key

opensslx509-req-inserver.csr-CArootCA.crt-CAkeyrootCA.key-CAcreateserial-outserver.crt-days365-sha256-extfilecert.conf上面的命令将生成将server.crt与我们一起使用的命令,server.key以在应用程序中启用SSL。

server{listen443;sslon;ssl_certificate/etc/ssl/server.crt

;ssl_certificate_key/etc/ssl/server.key

;server_nameyour.domain.com;access_log/var/log/nginx/nginx.vhost.access.log;error_log/var/log/nginx/nginx.vhost.error.log;location/{root/home/www/public_html/your.domain.com/public/;indexindex.html;}}在您的浏览器/操作系统中安装证书颁发机构您需要rootCA.crt在浏览器或操作系统中安装,以避免使用自签名证书时浏览器中显示安全消息。

安装自签名CA证书因操作系统而异。例如,在MAC中,您可以通过双击证书并将其添加到钥匙串来添加证书。检查有关安装证书的相应操作系统指南。

如果您想经常创建自签名证书,可以使用以下shell脚本。您只需使用要添加到证书的域名或IP来执行脚本即可。

将以下shell脚本保存为ssl.sh

#!/bin/bashif["$#"-ne1]thenecho"Error:Nodomainnameargumentprovided"echo"Usage:Provideadomainnameasanargument"exit1fiDOMAIN=$1#CreaterootCA&Privatekeyopensslreq-x509-sha256-days356-nodes-newkeyrsa:2048-subj"/CN=${DOMAIN}/C=US/L=SanFransisco"-keyoutrootCA.key-outrootCA.crt#GeneratePrivatekeyopensslgenrsa-out${DOMAIN}.key2048#Createcsfconfcat>csr.conf

chmodxssl.sh使用域名或IP执行脚本。例如,

./ssl.shdemo.mlopshub.com该脚本将创建我们使用individualcommands.SSL证书和私钥以您作为脚本参数传递的域名命名。例如,demo.mlopshub.com.key&demo.mlopshub.com.crt

使用自签名证书有几个好处:

使用自签名证书也有几个缺点:

一般来说,对于需要证明自己身份的应用程序来说,自签名证书是一个不错的选择。它们也是开发和测试环境的不错选择。但是,它们不应该用于生产应用程序。

许多组织对其不面向互联网的内部应用程序使用自签名证书。这些证书是使用组织的内部PKI基础设施生成的。

您可以使用Openssl在Windows上创建自签名证书。OpenSSL命令对于所有操作系统都是相同的。您可以按照本指南在Windows上使用本指南创建自签名证书。

您可以使用openSSL或CDSSLPKI工具包等工具生成自签名证书。

在本指南中,我们学习了如何使用OpenSSL创建自签名SSL证书。

希望这份自签名SSL指南对自动生成证书的脚本有所帮助。如果您遇到任何问题,请告诉我们。

THE END
1.生成自签名ssl证书腾讯云开发者社区生成自签名ssl证书 一、生成CA私钥 代码语言:javascript 复制 mkdir ca cd ca#创建私钥(建议设置密码)openssl genrsa-des3-out myCA.key2048 生成CA证书 代码语言:javascript 复制 #20年有效期 openssl req-x509-new-nodes-key myCA.key-sha256-days7300-out myCA.crthttps://cloud.tencent.com/developer/article/2016855
2.如何制作自签名证书腾讯云开发者社区如何制作自签名证书 本文主要介绍如何基于openssl制作X.509自签名证书,以及如何使用该证书签发新证书。 一、生成根证书 1. 生成根证书私钥(pem文件) 下面的命令用来生成根证书的私钥,相关参数说明如下: genrsa:使用RSA算法产生私钥,尾部的2048代表密钥长度为2048比特。https://cloud.tencent.com.cn/developer/article/2348416
3.基于OpenSSL生成自签名证书openssl生成自签名证书基于OpenSSL 生成自签名证书 本文详细介绍了基于OpenSSL生成自签名SSL证书的步骤,包括理解PKI、CA、SSL、TLS的概念,使用OpenSSL工具创建根证书、密钥文件和证书请求,以及在Nginx上配置自签名证书的方法。对于需要搭建安全服务器的读者,这是一个实用的教程。 摘要由CSDN通过智能技术生成https://blog.csdn.net/qianghaohao/article/details/90314163
4.如何创建自签名的SSL证书第一步:生成私钥 openssl工具集用于生成 RSA Private Key 和 CSR (Certificate Signing Request),也能用于生成自签名证书,用于测试目的或内部使用。 第一步创建 RSA Private Key。这个秘钥: 1024 bit RSA key 使用3DES 加密 使用PEM 格式存储,ASCII,可读 https://www.jianshu.com/p/e5f46dcf4664
5.生成自签名证书自签名证书用于创建可以在 Windows? 证书库中安装的证书文件。 如果仅计划使用公用和专用密钥对,请跳过此部分并转至 过程 在OpenSSL 命令提示符上,输入: req -x509 -sha256 -newkey rsa:2048 -keyout keyname.key -out certificatename.crt -days 365 https://www.ibm.com/docs/zh/rpa/21.0?topic=keys-generating-self-signed-certificates
6.使用自定义根CA生成自签名证书管理证书 后端证书 续订证书 为后端生成自签名证书 受信任的客户端证书 SSL 策略 用于AKS 的入口 按URL 路由 托管多个站点 重定向流量 重写HTTP 标头和 URL 配置自定义探测 部署应用程序网关基本层 配置应用服务 计划自动缩放 重定位 疑难解答 代理缓冲区配置 https://docs.azure.cn/zh-cn/application-gateway/self-signed-certificates
7.生成自签名ssl证书pemkeyjojo的技术博客第4步:生成自签名证书 如果你不想花钱让CA签名,或者只是测试SSL的具体实现。那么,现在便可以着手生成一个自签名的证书了。 需要注意的是,在使用自签名的临时证书时,浏览器会提示证书的颁发机构是未知的。 # openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt https://blog.51cto.com/u_12195/12922978
8.在线生成自签名ssl证书4. 生成自签名证书:使用以下命令生成一个自签名证书: openssl x509 -req -days 365 -in csr.csr -signkey private.key -out certificate.crt 这将使用CSR文件和私钥文件生成一个有效期为365天的自签名证书,并将其保存在名为certificate.crt的文件中。 https://www.zwtrus.com/detail?article_id=1153
9.有什么工具可以生成SSL自签名证书?3.创建证书签名请求(CSR):证书签名请求(CSR)包含您的公共密钥和一些基本信息,如组织名称、组织地址等。它用于验证您的身份和资质。 4.生成自签名证书:使用选定的工具,将私钥和CSR作为输入,生成自签名SSL证书。自签名证书将包含您的公钥和一些基本信息,如组织名称、组织地址等。 https://blog.itpub.net/70027286/viewspace-3023005/
10.在线生成自签名ssl证书猜你喜欢:在线生成自签名ssl证书。生成证书文件生成方式有3种即生成的RSA生成。生成的证书需要是自签名证书或私钥(如:“.pem”、“.pem”)生成的证书文件,证书状态必须为“未生成”。生成的CA证书必须是自签名的,否则会提示“私钥文件”。单击“确定”,生成证书。复制证书时会生成私钥文件,请妥善保管和更新证书。https://www.huaweicloud.com/zhishi/edits-17546026.html
11.在线生成https证书自签名https证书在线生成生成自签名https证书https证书我们都在CA站点申请,并由CA机构颁发,有时候我们内部测试想要生成自签名https证书。一般通过公钥填写资料、然后一步一步通过openssl生成,过程费事费力。本工具可以在线生成自签名https证书(忽略浏览器安全警告可以正常使用),不提供找回服务,使用中有问题,欢迎给我信息!华纳云_CN2物理服务器888元/月_5M CN2云16http://web.chacuo.net/netcreatecrt
12.在线生成自签名SSL证书/X509证书(GenerateSelfSignCER)SAN 密钥用法 自定义密钥用法 *在不了解各参数的用途时,可不选,系统将自动选择。 增强型密钥用法 自定义增强型密钥用法 *在不了解各参数的用途时,可不选,系统将自动选择。 是否签为CA 不签为CA 签为CA *签为CA证书后,可以对他人的证书请求(CSR)进行签名 生成自签名证书 *自签名证书多用于测试https://www.bkssl.com/ssl/selfsign-in-browser
13.自签名证书:带CA与不带CA的区别及如何选择在实践中,我们可以选择使用自签名证书,而这些自签名证书又分为带CA(证书颁发机构)和不带CA两种。 本文将详细解释这两种自签名证书的区别,并为您提供选择自签名证书时的参考依据。 一、自签名证书的基本概念 自签名证书是指由用户自己生成和签名的证书,而不是由公认的证书颁发机构(如VeriSign或Let’s Encrypt)签名https://www.bunian.cn/16783.html
14.CentOS7上自签名SSL证书生成教程自签证书是免费的,不是CA机构颁发的证书,仅适用于测试和内部使用,生成的证书外人访问会提示不安全。本文讲的是如何自己自签一个SSL证书供自己使用。CentOS7上生成自签名SSL证书很简单,下面来看教程。 安装OpenSSL 进入ssh终端,输入以下命令 yum install openssl -y 如https://wxsnote.cn/4746.html
15.Nginx实现自签名SSL证书生成与配置实现nginx自签名 SSL 证书可以提供加密连接,但由于没有受信任的第三方机构进行验证,因此会在浏览器中显示安全警告。自签名证书仅适用于测试环境或个人使用,并不适用于生产环境。 到此这篇关于Nginx实现自签名SSL证书生成与配置实现的文章就介绍到这了,更多相关Nginx 自签名SSL证书内容请搜索脚本之家以前的文章或继续浏览下面的https://www.jb51.net/server/297067v08.htm
16.星辰自签证书工具星辰自签名证书是一款可以自动生成域名证书的工具,免费在线生成自签名证书,方便开发者调试SSL功能https://cert.xingyiwenhua.com/
17.如何创建自签名SSL证书?自签名SSL证书是指用户使用工具生成,而不是值得信赖的CA机构颁发的证书,通常只用于测试。 第一步:生成私钥 使用OpenSSL工具生成RSA私钥。 $opensslgenrsa-des3-outserver.key2048 注:生成rsa私钥,des3算法,2048位强度,server.key是密钥文件名。 第二步:生成CSR(证书签名请求) https://www.ihuyi.com/ssl/support/90/14888.html
18.用openssl做自签名证书寂寞暴走伤用openssl做自签名证书 一.服务器端 1,2,为演示,可以先熟悉一下命令和原理 1.生成私钥: 私钥最好要加密存放且其权限最小要是600,此时可以将命令写入()中,这些命令就相当于在一个子bash中执行而不是在当前的bash中执行,所以,umask值还是022,不会变,这样直接就能使私钥文件权限为600而不需要改变umask值或者http://blog.chinaunix.net/uid-30212356-id-5138330.html
19.android签名生成在线一键生成安卓Android证书jks文件通过安卓证书制作工具一键制作android证书,在线生成jks证书文件,自定义别名及密码等信息,自动获取md5签名sha1&sha256签名 免费使用 1 2 免费制作安卓证书 Q:什么是安卓证书工具?解释 A:安卓证书工具是一门推出的android证书云端制作工具,可一键在线生成安卓JKS证书文件,jks证书文件请妥善保存哦。 http://zaixian.yimenapp.com/anzhuo-zhengshu-286.html
20.ssl自签名证书 如果你准备创建一个提供 SSL 加密连接服务的服务器,你需要为该服务获取一份证书。 有许多方式可以获取合适的证书,例如从证书颁发机构购买。 另一种常见做法是生成自签名证书。 生成自签名证书的最简单方式是使用 OpenSSL 软件包,代码如下所示: % openssl req -new -x509 -days 365 -nodes -out certhttps://docs.python.org/zh-cn/3.11/library/ssl.html
21.自签名免费SSL证书签发输入证书请求CSR文件,选择需要的证书哈希签名算法,点击获取免费证书,复制保存生成的证书文件为yourdomain.crt或点击下载证书文件按钮。 该证书是CHINASSL CA免费签发的自签名SSL证书,证书有效期1年,服务器端需要安装证书与根证书文件Root Certificate,客户端也需要安装导入根证书才能被信任。点击下载 https://www.chinassl.net/ssltools/free-ssl.html
22.证书在Exchange2007Server中的使用:Exchange2007帮助Exchange 在没有任何用户参数的情况下生成自签名证书时,将创建一个主题名称为CN=hostname的证书。 X.509 证书扩展名也是Subject。 通过在New-ExchangeCertificatecmdlet 中指定SubjectName参数,可以设置Subject字段。 CertificateDomains CertificateDomains字段标识与证书相关联的所有 DNS 域名。DNS 域名可以在 Subject 的公用https://technet.microsoft.com/zh-cn/library/bb851505(EXCHG.80).aspx