一、OpenSSL
OpenSSL是用于应用程序的软件库,该应用程序可保护计算机 络上的通信免遭窃听或需要识别另一方的身份,是SSL和TLS协议的开源实现。
使用步骤如下:
1.生成私钥*.pem(传统格式)
openssl genrsa -out rsa_private_key.pem 1024
2.对私钥进行PKCS#8编码(在密码学中PKCS代表“公钥密码学标准”。这些是RSA Security LLC于1990年代初开始设计和发布的一组公共密钥加密标准。PKCS#8规定了存储私钥信息的标准语法)
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt > rsa_private_key_pkcs8.pem
3.根据私钥生成对应的公钥:
openssl rsa -in rsa_private_key.pem -out rsa_public_key_1024.pub -pubout
二、OpenSSH的ssh-keygen
OpenSSH是基于安全外壳SSH协议的一组安全 络实用程序,可在客户端-服务器体系结构中的不安全 络上提供安全通道,可以替代Telnet和FTP等未加密协议。
使用步骤如下:
1.执行指令
ssh-keygen -t rsa
2.几次回车默认后便生成了公私钥对
三、GnuPG的gpg
GNU Privacy Guard隐私保护,简称(GnuPG的或GPG),是一种是一种混合加密软件程序。因为它结合了传统的对称密钥加密技术来提高速度,并使用公共密钥加密技术来简化安全密钥交换。
使用步骤如下:
1.由于默认已经安装GPG,故直接输入“gpg –gen-key”并按回车键执行,然后输入“1”选择密钥种类,然后回车。
2.选择加密算法。默认选择第一个选项,表示加密和签名都使用RSA算法。这里输入13.询问密钥对位数,默认为2048,本例中手动输入1024.
3.提示输入密钥对有效期,输入“0”(永不过期)并按回车键确定。
4.示将永不过期,输入“y”确认。
5.输入密钥对名称(本例中为cheshi)。
6.依次输入邮件地址和备注。
7.询问是否修改或者确认,直接输入“o”确认。
8.提示输入私钥密码短语
9、再次输入后系统需要时间生成密钥对,期间最好随机输入字符或移动鼠标等,有助于生成密钥对,结果如下图
10、分别导出公私钥
导出公钥
导出私钥
四、区别
1.OpenSSH 与 OpenSSL有什么关联?
OpenSSH常常被误认以为与OpenSSL有关联,但实际上这两个计划有不同的目的,不同的发展团队,名称相近只是因为两者有同样的软件发展目标──提供开放源代码的加密通讯软件。
2、SSH、SSL、TSL的区别是什么?
五、总结
OpenSSH是SSH协议的具体实现、OpenSSL是SSL与TSL的具体实现。OpenSSH 与OpenSSL只是名字相似但是关联不大,同样软件发展目标是为提供开放源代码的加密通讯软件。而生成非对称公私钥的方式有很多,如上面列举出的OpenSSH 、OpenSSL与GnuPG。三者生成的公私钥的区别在于OpenSSH ssh-keygen ssh-keygen 输出的RSA密钥文件的版本较旧, 这种比较旧文件格式不同于PKCS#8标准. 但是openssl支持这种旧版密钥格式。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!