密钥、证书生成和管理总结

论坛 期权论坛     
选择匿名的用户   2021-6-2 17:47   162   0
<div class="blogpost-body" id="cnblogs_post_body">
<h2>目录</h2>
<ol><li><a href="https://blog.csdn.net/weixin_30847865/article/details/95023774#ssh-keygen">openSSH的ssh-keygen工具</a></li><li><a href="https://blog.csdn.net/weixin_30847865/article/details/95023774#openssl">openSSL</a></li><li><a href="https://blog.csdn.net/weixin_30847865/article/details/95023774#keytool">keytool</a></li><li><a href="https://blog.csdn.net/weixin_30847865/article/details/95023774#gpg">GPG</a></li><li><a href="https://blog.csdn.net/weixin_30847865/article/details/95023774#pgp">PGP</a></li><li><a href="https://blog.csdn.net/weixin_30847865/article/details/95023774#Putty">Putty</a></li><li><a href="https://blog.csdn.net/weixin_30847865/article/details/95023774#other">其他未整理内容</a></li></ol>
<p> </p>
<p> </p>
<h2><a name="ssh-keygen"></a>一、OpenSSH和ssh-keygen </h2>
<p>OpenSSH是SSH协议的开源版本(SSH:Secure SHell)。使用SSH透过计算机网络实现加密通讯,可以进行远程控制,在计算机之间传送文件等等。SSH传输的数据都进行了加密,比telnet,rcp,ftp,rlogin,rsh等以明文传输密码的工具更安全。</p>
<p>OpenSSH提供了实现SSH协议的很多工具。其中ssh-keygen用于生成,管理和转换用于认证的密钥和证书。</p>
<p> </p>
<p><strong>ssh-keygen</strong></p>
<ul><li><strong>-b &lt;bits&gt;      </strong> 密钥长度,默认为2048</li><li><strong>-t &lt;type&gt;      </strong> 密钥类型, rsa|des... (默认类型为rsa)
   <ul><li>SSH1:   RSA</li><li>SSH2:   RSA, DSA,  ECDSA</li></ul></li><li><strong>-N &lt;password&gt; </strong>  新密码</li><li><strong>-f &lt;file&gt; </strong>       指定密钥文件,创建时会同时生成一个.pub结尾的公钥文件。</li><li>-C &lt;comment&gt;</li><li>-c            修改公钥或私钥文件中的注释</li><li>-p            修改私钥文件密码</li><li><strong>-P &lt;password&gt;   旧密码</strong></li><li>-e            导出为其它格式的密钥文件,可以转换密钥类型</li><li>-i            从其他格式的密钥文件导入,可以转换密钥类型</li><li>-m  &lt;PEM|PKCS8|RFC4716&gt;   与-e,-i配合使用,指明导出或导入的密钥文件格式</li><li><strong>-y        读入密钥并显示公钥</strong></li></ul>
<p> </p>
<p> </p>
<p> </p>
<h2><a name="openssl"></a>二、OpenSSL</h2>
<p>OpenSSL 是一个强大的安全套接字层密码库,包括了加密算法,常用密钥和证书管理,SSL协议等功能。OpenSSL提供的命令非常多,这里只简单列出OpenSSL生成密钥和证书的一些操作(Window需要以管理员身份运行cmd)。</p>
<p>v1.0.1&#43;密钥默认采用PKCS#8格式(之前版本为PEM)。</p>
<p> </p>
<p>查看openSSL版本</p>
<div class="cnblogs_code">
  <pre class="blockcode"><span style="color:#000000;">openssl version
openssl version </span>-a</pre>
</div>
<p>enc  对称加密 </p>
<p> </p>
<p> </p>
<h3>1.密钥生成(genrsa,genpkey,req在证书请求时同时生成密钥, gendh, gendsa)</h3>
<p><span style="color:#0000ff;"><span style="color:#800000;"><strong>(1) openssl genrsa [options] [bits_num]</strong>   </span> </span></p>
<ul><li><strong>-out &lt;file&gt;</strong>   指定输出文件,不指定时在终端显示密钥内容</li><li><strong>-passout pass:&lt;password&gt;</strong>   设置私钥文件密码</li><li>-f4    使用F4(0x10001)作为公钥的E参数(默认)</li><li>-3     使用3作为公钥的E参数</li><li>-des , -des3, -aes128, -aes192, -aes256   指定加密算法(默认不加密)</li></ul>
<p>默认生产的密钥格式为PEM。<strong>openssl默认只生成了私钥文件</strong>,当需要提取公钥时使用rsa命令。</p>
<p> </p>
<p>示例</p>
<div class="cnblogs_code">
  <pre class="blockcode"><span style="color:#000000;">#生成RSA密钥对。位长度为2048,保持到rsakey0.pem文件中。
openssl genrsa </span>-out rsakey0.pem <span style="color:#800080;">2048</span><span style="color:#000000;">  <br>   
#生成RSA密钥对。使用DES3加密,密钥使用密码保护,位长度为1024
openssl genrsa </span>-des3 -out rootca.key -passout pass:<span style="color:#800080;">123456</span> <span style="color:#800080;">1024</span></pre>
</div>
<p> </p>
<p><span style="color:#800000;"><strong>(2) openssl genpkey [options] </strong></span>  v1.0.1&#43;</p>
<p>示例</p>
<div class="cnblogs_code">
  <pre class="blockcode">#生成RSA密钥,位长度为2048,格式为DER<br>openssl genpkey -algorithm RSA -out rsapriKey.pem -pkeyopt rsa_keygen_bits:<span style="color:#800080;">2048</span> -outform DER</pre>
</div>
<p> </p>
<p><span style="color:#888888;">(3) openssl req请求时生成新的密钥对</span></p>
<div class="cnblogs_code">
  <pre class="blockcode"><span style="color:#888888;">openssl req -x509  -days 365 -newkey rsa:2048 -keyout private.pem -out public.pem -nodes</span></pre>
</div>
<p> </p>
<p> </p>
<h3> 2.密钥文件管理和转换(rsa, pkey)</h3>
<p><span style="color:#800000;"><strong>(1) openssl rsa [options]
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP