AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 779475
Accepted
mechgt
mechgt
Asked: 2016-05-28 10:12:37 +0800 CST2016-05-28 10:12:37 +0800 CST 2016-05-28 10:12:37 +0800 CST

OpenSSL - 使用 CA 签名时添加主题备用名称 (SAN)

  • 772

如何在使用 OpenSSL 签署证书请求时添加主题备用名称(如果重要,在 Windows 中)?

我已经从 IIS 接口生成了一个基本的证书签名请求 (CSR)。现在,我想添加几个主题备用名称,使用现有的根证书对其进行签名,然后返回证书以完成签名请求。

我能找到的每个教程都涉及生成一个新的私钥和一个全新的 CSR,但是我的印象是私钥驻留在请求计算机上(我不一定有权访问)。我只想在添加备用名称时签署请求。我对 OpenSSL 和 CA 主题比较陌生,所以这可能是我的误解。

certificate-authority ssl-certificate openssl csr subject-alternative-names
  • 1 1 个回答
  • 31014 Views

1 个回答

  • Voted
  1. Best Answer
    Law29
    2016-05-28T10:29:26+08:002016-05-28T10:29:26+08:00

    就我个人而言,我在 CSR 生成时添加了 alt 名称,所以我知道这是可行的(默认 conf 文件中存在一些用于生成和签名的副游戏)。

    对于之后的更改,据我所知,Alt Names 是扩展名,看来您可以在签名时覆盖或添加所需的扩展名。我会无耻地复制:

    From: Patrick Patterson @carillonis.com
    Newsgroups: mailing.openssl.users
    Subject: Re: Sign CSR after modifying data in CSR possible?
    Date: Tue, 5 Jan 2010 15:14:05 -0500
    Message-ID: <mailpost.1262722567.7762451.82829.mailing.openssl.users@FreeBSD.cs.nctu.edu.tw>
    

    当你使用 openssl CA(奇怪的是:openssl ca)命令时,你可以给它很多选项,包括使用哪个 Subject 值(-subj参数),以及使用哪个扩展(通过-extfileand-extensions参数)。

    因此您可以通过以下命令设置所需的扩展名和所需的主题(导致 CSR 中的两个值都被完全忽略):

    openssl ca -config /etc/myca/openssl.cnf                       \
        -extfile /etc/myca/openssl-exts.cnf                        \
        -extension sig-medium                                      \
        -subj "/C=CA/O=Example Company/OU=Engineering/CN=John Doe" \
        -in req.csr                                                \
        -out john-doe.pem
    

    在哪里:

    /etc/myca/openssl-exts.cnf 包含:

    [ sig-medium ]
    basicConstraints                = CA:FALSE
    keyUsage                        = critical, digitalSignature
    extendedKeyUsage                = emailProtection, anyExtendedKeyUsage
    nsComment                       = "Do Not trust - PURE TEST purposes only"
    subjectKeyIdentifier            = hash
    authorityKeyIdentifier          = keyid,issuer
    subjectAltName                  = @testsan
    authorityInfoAccess             = @aia_points
    crlDistributionPoints           = @crl_dist_points
    
    [ testsan ]
    email = [email protected]
    DNS = www.example.com
    dirName = test_dir
    URI = http://www.example.com/
    IP = 172.16.0.1
    otherName.0 = 1.3.6.1.4.1.311.20.2.3;UTF8:[email protected]
    otherName.1 = 1.3.6.1.5.5.7.8.7;IA5STRING:_mail.example.com
    otherName.2 = 1.3.6.1.5.5.7.8.5;UTF8:[email protected]
    
    [aia_points]
    caIssuers;URI.0=http://www.example.com/caops/Signing-CA.p7c
    caIssuers;URI.1=ldap://dir.example.com/<DN of Signing 
    CA>?cACertificate;binary?base?objectclass=pkiCA
    
    [crl_dist_points]
    URI.0=http://www.example.com/caops/test-signca1-crl.crl
    URI.1=ldap://dir.example.com/<DN of Signing 
    CA>?certificateRevocationList;binary?base?objectclass=pkiCA
    
    • 10

相关问题

  • Root CA 是否需要在线?

  • Windows 2003 域 - 证书颁发机构 - 新的自动证书请求

  • 从 AD 中删除证书服务器

  • svn 不会接受我的无效证书

  • CA XCOM 数据传输 - XCOMU0474E xcomd 已在运行。不支持多个实例

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve