问题标签 [subject-alternative-name]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
339 浏览

c++ - 使用 wincrypt 将主题备用名称添加到自签名证书

如何在证书中添加主题备用名称。使用 wincrypt,我创建了证书并将其添加到“MY”和“root”路径,其中 CN 可以是机器完全限定的域名或主机名或 IP。作为主题备用名称,我想添加以下内容:DNS 名称=完全限定域名、DNS 名称=主机名和 DNS 名称=IP 如何执行此操作?我不想使用openssl。

这将创建证书并将其添加到证书中没有 SAN 的存储区

我尝试通过如下扩展列表:

有了这个,我可以在左窗格中以字节格式获取 SAN,右窗格显示我的字符串“DNS Names=abc.com”。

但我的要求是仅显示 SAN 中的 DNS 名称。

0 投票
1 回答
830 浏览

c++ - 如何在 C 中使用 API(不是 openssl 命令)从 OpenSSL 证书的 subject_alt_name 字段中提取 IP 地址

我的要求是使用 OpenSSL API 函数(不是 openSSL 原始命令)从 openSSL 证书中提取 IP 地址。我可以使用 ASN1_STRING_data() 来提取 san 字段详细信息,但是如何从中打印 ip 地址。ip 地址字段的数据类型是什么

我正在按照以下代码流从证书中获取公用名和 san 字段。我能够获取公用名,但是 SAN 字段有问题

对 C 使用 openssl api,能够获取公用名字段,但不能获取 SAN ip 字段

0 投票
2 回答
706 浏览

c - 获取主题备用名称 OpenSSL

我正在尝试从我的客户端证书中检索主题备用名称。通过运行此命令,我可以看到 SAN:

在 C 文件中,我试图检索客户端 SAN,以便我可以使用服务器 IP 对其进行验证。这是我的尝试:

现在,我的代码返回错误,因为 san_names 为 NULL。任何指导将不胜感激。谢谢!

0 投票
1 回答
132 浏览

jar - weblogic wseeclient.jar 在从 weblogic 服务器迁移到 jboss 时,我想要一个用于 JBOSS 的替代 jar

我正在尝试将我的应用程序从 weblogic 服务器迁移到 wseeclient.jar 中的 JBoss 我想要 JBOSS 的替代 jar

我在谷歌搜索了很长时间我无法找到解决方案。

0 投票
0 回答
295 浏览

java - 由于尾随空格,无法验证服务器证书

我创建了一个与服务器通信并定期发送请求的 java spring-boot 应用程序。出于安全原因,我需要验证服务器的证书,但是服务器的证书存在一个奇怪的问题。

主题备用名称 (SAN) 列表中的服务器名称包含尾随空格字符。所以根据代码,服务器的名称与证书中的任何名称都不匹配......

例如,如果 URI 是证书中该服务器的 URI,则"https://server-01.org/"它是一个轻微的不匹配......SAN"server-01.org "

java中有没有办法忽略证书中的尾随空格?我无法更改服务器证书,其他系统似乎也没有遇到这个问题。有没有我可以在 java 代码中使用的设置?

0 投票
0 回答
506 浏览

java - 如何在 Java 中从 X509Certificate 获取 UPN

在我们的 Web 应用程序中,我们将改进证书身份验证机制。

我们曾经使用CN从证书获取登录和验证用户。

但是,要求已经改变,现在我们建议使用SAN(主题备用名称)两者UPNRFC822 Name

在我们的证书SAN字段中,我看到以下内容:

我尝试使用以下代码段获取 RFC822 名称:

它似乎确实有效。

当我解析证书并调用该方法时,我得到以下输出:

但是,我不知道如何UPN从证书中获取,所以我只是决定调用删除 if 条件的方法并遍历所有可能的替代名称,如下所示:

输出如下:

我想第 0 个元素是我需要的,尽管它看起来一点也不像EXAMPLE@vw.vwg

所以我有两个问题:

  1. 提取rfc822名称的方法是否正确?
  2. 我得到什么作为第 0 个元素?是UPN吗?如果是这样,如何使它看起来像一个可读的字符串?(最好不使用第 3 方的库)

提前致谢!

0 投票
2 回答
116 浏览

python - 用于生成证书的 Python 实用程序

目前我正在运行一些问题,我需要在 python 中编写一个实用程序来为给定主机和主题 alt 名称的命名空间中的入口安装证书。任何帮助都感激不尽。

0 投票
1 回答
64 浏览

php-openssl - php从csr获取subjectAltName

晚上好,我的朋友,我使用 php 通过 openssl 函数生成了 san csr。但我无法获得 subjectAltName。请问如何从csr中提取subjetAltName?

0 投票
1 回答
312 浏览

java - 无法在 java 中解析 subjectAlternativeNames

我尝试在 java中解析证书的额外数据。我对 subjectAlternativeNames 部分感兴趣。我的代码是:

X509CertInfo包含java.io.IOException: invalid URI name:DNS:*.cetrel.lu, DNS:mail.cetrel.lu, DNS:www.cetrel.lu. 并且subjectAlternativeNames是空的。

我该如何解析它?

我只对 感兴趣extra_data,对 不感兴趣leaf_input。我可以在这里找到证书:http: //transparencyreport.google.com/https/certificates/

DNS names部分是空的,似乎谷歌也无法解析它。

提供证书的完整代码:

0 投票
0 回答
127 浏览

ssl - 在 Openssl 中加载扩展“copy_extensions”时出错

在 Ubuntu 19.10 上运行以下命令时,使用 OpenSSl 1.1.1c 2019 年 5 月 28 日:

我收到以下输出:

加载扩展部分 v3_ca 时出错

140710502360256:错误:22097082:X509 V3 例程:do_ext_nconf:未知扩展名:../crypto/x509v3/v3_conf.c:78:

140710502360256:错误:22098080:X509 V3 例程:X509V3_EXT_nconf:扩展错误:../crypto/x509v3/v3_conf.c:47:name=copy_extensions,value=copy

使用以下配置文件:

该错误使我无法理解,并且为了提供一些背景知识,我尝试使用 copy_extensions 以便当我通过 -addext (或通过任何方式)将 subjectAltName 传递给 CSR 时,执行以下操作时,subjectAltName 将传递到签名证书(以下是中级证书的 openssl 命令,用于签署和创建基于客户端或服务器的证书,除了我刚才所说的之外,它都运行良好):