OpenSSL 不从 RSA 私钥创建 key 文件

标签 openssl jwt salesforce

我正在关注 this guide以便为我的 Salesforce 开发设置持续集成。它说要创建一个 RSA 私钥,然后从中创建一个 key 文件,然后生成一个证书。但是我遇到了一些错误并且无法在网上找到我的答案。

image of commands

如图所示,我尝试了 openssl genrsa -des3 -passout pass:x -out server.pass.key 2048并得到以下错误。
Generating RSA private key, 2048 bit long modulus (2 primes) ....+++++ .......................+++++ e is 65537 (0x010001) 484:error:28078065:UI routines:UI_set_result_ex:result too small:crypto/ui/ui_lib.c:903:You must type in 4 to 1023 characters 484:error:28078065:UI routines:UI_set_result_ex:result too small:crypto/ui/ui_lib.c:903:You must type in 4 to 1023 characters 484:error:0906906F:PEM routines:PEM_ASN1_write_bio:read key:crypto/pem/pem_lib.c:357:
我认为 2048 是一个很大的数字(不知道为什么)所以我使用了 openssl genrsa -des3 -passout pass:x -out server.pass.key 1023结果如下。
Generating RSA private key, 1023 bit long modulus (2 primes) ................................................+++++ .......................+++++ e is 65537 (0x010001)
尝试使用此命令从 RSA 私钥创建 key 时 openssl rsa -passin pass:x -in server.pass.key -out server.key我收到另一个错误,说无法加载私钥。这是输出。
unable to load Private Key 20536:error:28078065:UI routines:UI_set_result_ex:result too small:crypto/ui/ui_lib.c:903:You must type in 4 to 1023 characters 20536:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:crypto/evp/evp_enc.c:570: 20536:error:0906A065:PEM routines:PEM_do_header:bad decrypt:crypto/pem/pem_lib.c:461:
这是创建的文件:

Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,647BC276259FFAB6

UZaGpWtLuxhhU5bFNpYMcbb2pZcmPccQOfyLeJ555oECpv7sd2qNaZn1dQOZaahy
nGDLZdOtHZ6rKZD2jZ99HcxDS9sdys9JRNHXo4fzEJb3q7Qo+rMwFyiL1NVVmkUL
+ib9FifiFdKB+WCza18dAQEGaMA0af7InrMo86wBlP1Qn6oU4kvaxG2JY1zqu1BG
NBVUyQB1NEhzeEYs4acXWT7mSW+blkofzycGlQ24eaBP/SMtP+qACPsJ2aL6vc8j
ofK7GT6vmL1TYebHD4fBTNuTVFNSZx1WkZNBUwAW9LSnxfBXE62bVoqxlaXuFBJW
+xUZ/Y8V3Hnlz5n7nsXieMN7xMMfelt11yFH3qOSvZYao+8XfsQMDSIeTtEaqVhc
veBfL9UGkM0ePgEN8Ewdxau9clDbPBphfi0UIJfS+MJKixmykTIYepBU2HIjHjdZ
co2nOIb7DgIsTKzf3Lec5PPmZRXMAGa1cPq1qLLnga6BA/pz9UMtkKuzJX7q+OoI
pcp1WRTN6Pwavm7mrdGmaiU/VHVGuC4KKdIquQ7iIlsy4s/YD5bVzWxVpAFDsyZ7
IRGI0Ac+0+1h2jm3XctYGFRm6FueOg2XuDHgF3E0W9XrZ1rMTLP27N8gSw4AIFi9
Nu035TlvADkR5EJUZq6YQrne7Yp7cS8yEuZ/eJfWDgKJ6MuHHky5iVOZivyQkL1X
FYNi4NF6QHImZdQUJ0n+on8xlG501ZpCrjCMk/GoY/VdgMWZz90Ri6x1f8TdVk5O
UY6CuBsMcWUV6WwIBeVV0oiAlyBb7JsmevHXfU77ep4=
-----END RSA PRIVATE KEY-----```

最佳答案

openssl版本的密码太短您正在使用。它似乎需要至少 4 个字符。试试这个:

openssl genrsa -des3 -passout pass:xxxx -out server.pass.key 2048

当然,这不是一个好的密码,但如果它有效,那将确认您收到错误消息的原因。在解密时,也使用更长的密码:
openssl rsa -passin pass:xxxx -in server.pass.key -out server.key

关于OpenSSL 不从 RSA 私钥创建 key 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56329626/

相关文章:

ruby - 如何使用 Ruby OpenSSL 库解码/提取 SMIME 签名电子邮件的 smime.p7m 文件内容

rest - 为什么我的 Spring Boot 无状态过滤器会被调用两次?

amazon-web-services - 如何在 Go 中验证来自 AWS Cognito 的 JWT token ?

session - 身份验证 : JWT usage vs session

javascript - 用于编辑视觉强制页面文本框的 Google Chrome 扩展

Python STDOUT 使用 openssl 子进程归档

c++ - i2d_X509_REQ_INFO 没有正确转换 req_info 结构

openssl - "BEGIN RSA PRIVATE KEY"和 "BEGIN PRIVATE KEY"之间的区别

salesforce - 如何在 SalesForce 中获得新线索的通知?

未找到快速查找中的 Salesforce Classic 电子邮件模板