在Linux下如何使用openssl生成RSA公钥和私钥对

        在前面,我们用了《JAVA RSA密钥对的生成与验证 》和《Java&keytool生成RSA密钥》方法生成密钥对,其实在Linux操作系统中,用openssl也是很容易生成密钥对的。

        在ubuntu上要使用openssl的话需要先进行安装,命令如下:

sudo apt-get install openssl

        安装完成就可以使用openssl了。

首先需要进入openssl的交互界面,在命令行了输入openssl即可。

1.生成RSA私钥

genrsa -out rsa_private_key.pem 1024

        该命令会生成1024位的私钥,生成成功的界面如下:

在Linux下如何使用openssl生成RSA公钥和私钥对_第1张图片

        此时我们就可以在当前路径下看到rsa_private_key.pem文件了,如下所示:

在Linux下如何使用openssl生成RSA公钥和私钥对_第2张图片
 

2.把RSA私钥转换成PKCS8格式

        输入命令pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt,并回车

得到生成功的结果,这个结果就是PKCS8格式的私钥,如下图:

在Linux下如何使用openssl生成RSA公钥和私钥对_第3张图片

3.生成RSA公钥

        输入命令rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem,并回车,

得到生成成功的结果,如下图:


        此时,我们可以看到一个文件名为rsa_public_key.pem的文件,打开它,可以看到-----BEGIN PUBLIC KEY-----开头,-----END PUBLIC KEY-----结尾的没有换行的字符串,这个就是公钥,如下所示:

在Linux下如何使用openssl生成RSA公钥和私钥对_第4张图片
 

附:但在有些时候,我们需要的公钥不是上面格式的,如下所示的公钥格式是sftp时需要的格式

在Linux下如何使用openssl生成RSA公钥和私钥对_第5张图片
  此时,我们需要通过如下Linux命令生成:

ssh-keygen -t rsa -f key

ssh-keygen -e -f key.pub > key_ss2.pub

        具体使用实例如下所示:

在Linux下如何使用openssl生成RSA公钥和私钥对_第6张图片
 
 

参考文章:http://blog.csdn.net/scape1989/article/details/18959657

你可能感兴趣的:(Unix,java基础)