6

我必须创建一个生成 CSR 的应用程序。在生成 CSR 时,我们需要填写一些详细信息,例如 CN、OU 等。问题是我必须向其发送 CSR 的认证机构需要 2 个 OU(组织单位)名称。我用谷歌搜索了很多,但使用可以指定 2 个 OU 名称的 openssl 或 java keytool 都找不到任何东西。

有人可以告诉我如何在生成 CSR 时指定 2 个 OU 名称吗?

4

3 回答 3

11

如果您想通过 CLI 执行此操作,您可以使用 conf 文件或传递 -subj 参数。这是一个带有 -subj 的示例

openssl req -new -newkey rsa:2048 -nodes -subj "/CN=somedomain.com/O=My Corporation/OU=Org Unit 1/OU=Org Unit 2"

您可以添加 ST、L、C 和 OpenSSL 识别的任何其他短名称(以及原始 OID)。

于 2013-07-25T12:59:44.450 回答
1

希望这有助于我撞了几个小时才找到它,你也可以试试这个命令

openssl req -new -key username.key -out username.csr -config client/client.csr.cnf

这是client.csr.cnf

    [req]
    default_bits = 2048
    distinguished_name = req_distinguished_name
    prompt = no
    [req_distinguished_name]
    DC= com
    0.DC= company
    OU= organizations
    0.OU= telos
    1.OU= telosapac
    CN= USERNAMEPATTERN

注意主题属性 0.DC, 0.OU, 1.OU 前面的数字应该有一个数字前缀代表主题条目的索引

于 2021-03-09T06:12:39.723 回答
0

Openssl 允许通过在 openssl 配置中附加一个数值来设置相同类型的多个值。

openssl 手册指出:

要指定多个值,请附加一个数字标识符,如下所示:

 [extensions]
 subjectAltName = @alt_section

 [alt_section]
 email.1 = steve@example.com
 email.2 = steve@example.org

在问题中提到的情况下,您将配置

[req_distinguished_name]
OU.1 = foo
OU.2 = bar
于 2021-09-01T14:49:33.323 回答