如何在openssl中使用rc4加密公钥?

时间:2018-11-22 20:31:35

标签: openssl rsa rc4-cipher

我发现this用openssl生成rsa公钥并用es加密的方法:

openssl genrsa -aes256 -out public.pem 4096

我该如何使用rc4做同样的事情?

openssl genrsa -rc4 -out public.pem 4096 Generating RSA private key, 4096 bit long modulus ...............................................................................................................................++ ...............................++ e is 65537 (0x010001) 140272337293760:error:09069071:PEM routines:PEM_ASN1_write_bio:unsupported cipher:../crypto/pem/pem_lib.c:309:

有什么办法吗?

1 个答案:

答案 0 :(得分:1)

您使用的命令将生成RSA密钥对(私有和公共),而不是公共密钥。加密公共密钥通常是没有意义的,因为它应该是公共的。

如果要加密密钥对,则OpenSSL不支持RC4进行PEM加密,但是可以使用openssl加密来加密密钥文件。

openssl rc4 -in keypair.pem -out keypair.enc -pbkdf2

如果要使用密钥,则必须将其解密:

openssl rc4 -d -in keypair.enc -out keypair.pem -pbkdf2

请注意,建议使用pbkdf2选项,但不是必须的。另外,只有最新的OpenSSL版本1.1.1支持pbkdf2,如果使用的是旧版本,则必须删除该选项。

openssl rc4 -in keypair.enc -out keypair.pem

如果您确实要加密公共密钥,则必须从密钥对中提取公共密钥:

openssl rsa -in keypair.pem -out pub.pem -pubout

并对其进行加密:

openssl rc4 -in pub.pem -out pub.enc -pbkdf2