OpenSSL 生成 RootCA (根证书)并自签署证书(支持 IP 地址)

这篇具有很好参考价值的文章主要介绍了OpenSSL 生成 RootCA (根证书)并自签署证书(支持 IP 地址)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

某机房内部访问需要配置 HTTPS,网上找的一些证书教程都不是特别好,有些直接生成证书,没有根 CA 的证书导致信任不了 Ubuntu 机器,有些教程只有域名生成,没有 IP 生成,有些甚至报错。故发一个笔者在 Ubuntu 22.04 机器上测试正确可用的流程,这里使用 10.12.0.2 作为例子生成一个证书。

生成

  1. 生成根 CA 的私钥和证书

    # 生成根 CA 的私钥
    openssl genrsa -out rootCA.key 2048
    
    # 使用私钥生成根 CA 的证书
    openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.crt
    
  2. 10.12.0.2 生成私钥和证书请求文件(CSR)

    # 生成 10.12.0.2 的私钥
    openssl genrsa -out 10.12.0.2.key 2048
    
    # 使用私钥生成证书请求文件
    openssl req -new -key 10.12.0.2.key -out 10.12.0.2.csr
    
  3. 创建证书扩展文件

    为了确保为 10.12.0.2 签名的证书能够用作服务器身份验证,需要为它创建一个扩展文件。创建一个名为 v3.ext 的文件,并添加以下内容:

    authorityKeyIdentifier=keyid,issuer
    basicConstraints=CA:FALSE
    keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
    subjectAltName = @alt_names
    
    [alt_names]
    # 这里 IP 替换成 DNS 就可以签名域名了
    IP.1 = 10.12.0.2
    
  4. 使用根 CA 的证书为 10.12.0.2 签名证书

    openssl x509 -req -in 10.12.0.2.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out 10.12.0.2.crt -days 500 -sha256 -extfile v3.ext
    

此时文件夹内应该有以下文件:

  • rootCA.key - 根 CA 的私钥。
  • rootCA.crt - 根 CA 的证书。
  • 10.12.0.2.key - 10.12.0.2 的私钥。
  • 10.12.0.2.csr - 10.12.0.2 的证书请求文件。
  • 10.12.0.2.crt - 由根 CA 签名的 10.12.0.2 的证书。

信任

Ubuntu

sudo cp rootCA.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates

CentOS

sudo cp rootCA.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust

Windows

右键文件,选择安装证书,选择本地计算机,指定安装到受信任的根证书颁发机构,即可

使用

这里拿 ASP.NET CORE 无反代部署举例,复制 10.12.0.2.key10.12.0.2.crt 文件到应用发布目录,之后在 appsettings.json 里加入或修改如下内容,并重启服务即可。文章来源地址https://www.toymoban.com/news/detail-710584.html

{
  // 上面是其他内容
  "Kestrel": {
    "Endpoints": {
      "Https": {
        "Url": "https://*",
        "Certificate": {
          "Path": "./10.12.0.2.crt",
          "KeyPath": "./10.12.0.2.key"
        }
      }
    }
  }
}

到了这里,关于OpenSSL 生成 RootCA (根证书)并自签署证书(支持 IP 地址)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • openssl生成证书和nginx配置ssl证书

    一般情况下,使用ssl证书需要三个操作步骤:1.生成密钥对;2.生成证书请求文件;3.生成证书文件。从单纯的开发者角度来说,可以使用开源的openssl生成密钥和证书,且通过openssl的req命令,可以一个命令完成上述3个操作。 req命令主要的功能:生成证书请求文件、验证证书请

    2024年02月07日
    浏览(45)
  • openssl 生成自签名证书以及CA证书链

    执行命令后,会提示你输入一些内容,请按照提示输入,每一项输入的内容需要自己记住 其中root.ext手动创建,内容如下: 中间证书的制作过程与根证书类似,这里直接将命令贴上。 这里涉及到一个ca_intermediate.ext,和root.ext类似,需要手动创建,内容如下 输出结果应该如下所

    2024年02月09日
    浏览(46)
  • 使用OpenSSL生成/签发证书步骤

    生成私钥和公钥: 2.私钥签名 对数据data.txt进行签名 3.公钥验签 生成自己的私钥文件(.key) 基于私钥生成证书请求文件(.csr) 将证书请求文件(.csr)提交给证书颁发机构(CA),CA会对提交的证书请求中的所有信息生成一个摘要,然后使用CA根证书对应的私钥进行加密,这就是所谓

    2024年02月03日
    浏览(39)
  • 使用OpenSSL生成自签名证书

    生成自签名证书有以下常见的方法: 使用图形界面工具:有一些图形界面工具可用于生成自签名证书,使过程更加直观和易于操作。例如,可以使用 XCA、Keychain Access(适用于 macOS)或 Windows 上的自带证书管理工具等。 使用编程语言和库:可以使用编程语言(如Python、Java、

    2024年02月06日
    浏览(49)
  • openssl快速生成自签名证书

    系统:Centos 7.6 确保已安装openssl 生成私钥文件 private.key (文件名自定义) -out private.key :生成的私钥文件 -algorithm RSA :使用RSA加密算法 -pkeyopt rsa_keygen_bits:2048 :指定密码的长度 使用私钥文件生成证书请求csr.pem Country Name (2-letter code) [XX]: 输入国家/地区代码 State or Province N

    2024年02月02日
    浏览(46)
  • 通过openssl生成pfx证书

    通过centos7上自带的openssl工具来生成。首先创建一个pfxcert目录。然后进入此目录。 1.生成.key文件(内含被加密后的私钥),要求输入一个自定义的密码 [root@localhost cert]# openssl genrsa -des3 -out server.key 2048 Generating RSA private key, 2048 bit long modulus ..........+++ ..........+++ e is 65537 (0x100

    2024年02月01日
    浏览(38)
  • https-OPenSSL证书生成及自签名证书

    目录 SSL/TLS 1、搭建OPenssl服务器 1.1、下载  1.2、安装下载好的exe程序 2、服务器端证书-生成key、CSR、CRT 2.1、进入如下目录,执行cmd  2.2、生成一个私钥key  2.3、由生成的私钥key生成一个待签名的CSR证书文件(公钥)  2.4、查看证书内容 3、自建CA证书 3.1、创建CA私钥 3.2、生成C

    2024年02月08日
    浏览(46)
  • Windows 安装 OpenSSL 生成自签名证书

    下载openssl.exe:适用于 Windows 的 Win32/Win64 OpenSSL 安装程序 Win64 OpenSSL v1.1.1i Light,安装Win64 OpenSSL v1.1.1i最常用的软件包 Win64 OpenSSL v1.1.1i,安装Win64 OpenSSL v1.1.1i完整软件包 Win32 OpenSSL v1.1.1i Light,安装Win32 OpenSSL v1.1.1i最常用的软件包 Win32 OpenSSL v1.1.1i,安装Win32 OpenSSL v1.1.1i完整软件

    2024年01月25日
    浏览(39)
  • Openssl生成证书-nginx使用ssl

    方式一: 1、生成服务器私钥。 2、根据服务器私钥文件生成证书请求文件,这个文件中会包含申请人的一些信息,所以执行下面这行命令过程中需要用户在命令行输入一些用户信息,随便填写,一路回车即可。 3、生成CA机构的私钥,命令和生成服务器私钥一样,只不过这是

    2024年02月05日
    浏览(57)
  • sm2证书生成(openssl生成公私钥对)—使用

    用上一篇的命令生成公私钥对。 1、sm2PubKey.pem 2、sm2PriKeyPkcs8.pem 3、openssl ec -in sm2PriKeyPkcs8.pem -text 5、工具类 BCECUtil.java SM2Util.java 6、写一个main方法 执行结果: 密钥和命令解析出来的一样。 依赖包:bcprov-jdk15on-1.70.jar SM2加密算法的结果长度,取决于明文长度,没记错的话是

    2024年02月02日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包