介绍
openssl genrsa 用于生成 rsa 私钥文件,生成时可以指定私钥长度和密码保护。
语法
openssl genrsa [-out filename] [-passout arg] [-des] [-des3] [-idea] [-f4] [-3] [-rand file(s)] [-engine id] [numbits]
一般使用:
root @ master # openssl genrsa -out rsa_pri.key 2048
Generating RSA private key, 2048 bit long modulus ................................+++ ..............................................+++ e is 65537 (0x10001)我们指定了密钥长度是 2048 bit,同时可以看到 e 的值是 65537,这不是一个错误,这是一个默认值,后面有讲。
密钥长度越长越安全,但使用密钥进行加解密时所耗费的时间也会变长,非对称密钥提高安全性的同时也带来了算法所耗费的大量时间,非对称密钥不对大块数据进行加密,应用领域是数字签名,密钥分发等小数据加密。
numbits 密钥长度(单位bit)
openssl genrsa -out rsa_pri.key 1024
-passout arg
对生成的 rsa 私钥文件施加密码保护,例如:使用 idea 算法对私钥文件进行密码保护,加密的密码是 123456。
openssl genrsa -idea -passout pass:123456 -out rsa_pri.key
-f4 / –3 指数(即 RAS 算法里的 e 指数,一般设置为 3 – 65537 之间的某个质数,例如 {3, 5, 17, 257 or 65537},默认是65537,必须是一个质数,值越大加密和解密耗费的时间越长),例如上例中输出的最后一句话,e is 65537 (0x10001)
-f4 -- use F4 (0x10001) for the E value
-3 -- use 3 for the E valueroot @ master # openssl genrsa -3 -out rsa_pri.key 2048
Loading 'screen' into random state – done
Generating RSA private key, 2048 bit long modulus ......................+++ .............+++ e is 3 (0x3)
参考: