OpenSSL

密码学和SSL/TLS工具包

openssl-genrsa

名称

openssl-genrsa - 生成RSA私钥

语法

openssl genrsa [-help] [-out filename] [-passout arg] [-aes128] [-aes192] [-aes256] [-aria128] [-aria192] [-aria256] [-camellia128] [-camellia192] [-camellia256] [-des] [-des3] [-idea] [-F4] [-f4] [-3] [-primes num] [-verbose] [-quiet] [-traditional] [-rand files] [-writerand file] [-engine id] [-provider name] [-provider-path path] [-propquery propq] [numbits]

描述

此命令生成一个RSA私钥。

选项

-help

打印用法信息。

-out filename

将密钥输出到指定文件。如果未指定此参数,则使用标准输出。

-passout arg

输出文件密码源。有关格式的更多信息,请参见 openssl-passphrase-options(1)

-aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea

这些选项在输出私钥之前使用指定的密码对其进行加密。如果未指定这些选项中的任何一个,则不使用加密。如果使用加密,则如果未通过-passout参数提供密码短语,则会提示输入密码短语。

-F4, -f4, -3

要使用的公钥指数,为65537或3。默认值为65537。-3选项已弃用。

-primes num

指定生成RSA密钥时要使用的素数个数。num参数必须是大于1且小于16的正整数。如果num大于2,则生成的密钥称为“多素数”RSA密钥,其定义在RFC 8017中。

-verbose

打印有关正在执行的操作的更多详细信息。

-quiet

打印有关正在执行的操作的更少详细信息,这在批处理脚本和管道中可能很方便。

-traditional

使用传统的PKCS#1格式而不是PKCS#8格式写入密钥。

-rand files, -writerand file

有关详细信息,请参见 openssl(1)中的“随机状态选项”

-engine id

参见 openssl(1)中的“引擎选项”。此选项已弃用。

-provider name
-provider-path path
-propquery propq

参见 openssl(1)中的“提供程序选项”provider(7)property(7)

numbits

要生成的私钥的大小(以位为单位)。这必须是指定的最后一个选项。默认值为2048,不允许小于512的值。

注意

RSA私钥生成基本上涉及生成两个或多个素数。生成私钥时,将输出各种符号以指示生成的进度。.表示每个通过初始筛分测试的数字,+表示数字通过了米勒-拉宾素性测试的一轮,*表示由于某些测试失败,当前素数开始重新生成进度。换行符表示该数字已通过所有素数测试(实际数字取决于密钥大小)。

由于密钥生成是一个随机过程,因此生成密钥所需的时间可能会有所不同。但总的来说,更多的素数会导致密钥的生成时间更短。

参见

openssl(1)openssl-genpkey(1)openssl-gendsa(1)

版权所有 2000-2023 OpenSSL 项目作者。版权所有。

根据 Apache 许可证 2.0(“许可证”)获得许可。除非符合许可证,否则您不得使用此文件。您可以在源代码分发中的LICENSE文件中或在 https://www.openssl.org/source/license.html 中获取副本。