江苏网站建设培训电脑制作视频的软件有哪些
目录
- Java加解密实用工具
 - 1 OpenSSL
 - 2 Keytool
 - 3 XCA
 - 4 KeyStore Explorer
 
Java加解密实用工具
1 OpenSSL
OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。
 例如Apache 使用它加密 HTTPS,OpenSSH 使用它加密 SSH。
OpenSSL整个软件包大概可以分成三个主要的功能部分:
- SSL协议库
OpenSSL实现了SSL协议的SSLv2和SSLv3,支持了其中绝大部分算法协议。OpenSSL也实现了TLSv1.0,TLS是SSLv3的标准化版,虽然区别不大,但毕竟有很多细节不尽相同。
虽然已经有众多的软件实现了OpenSSL的功能,但是OpenSSL里面实现的SSL协议能够让我们对SSL协议有一个更加清楚的认识,因为至少存在两点:一是OpenSSL实现的SSL协议是开放源代码的,我们可以追究SSL协议实现的每一个细节;二是OpenSSL实现的SSL协议是纯粹的SSL协议,没有跟其它协议(如HTTP)协议结合在一起,澄清了SSL协议的本来面目。 - 应用程序 
- 密钥证书管理
密钥和证书管理是PKI的一个重要组成部分,OpenSSL为之提供了丰富的功能,支持多种标准。
首先,OpenSSL实现了ASN.1的证书和密钥相关标准,提供了对证书、公钥、私钥、证书请求以及CRL等数据对象的DER、PEM和BASE64的编解码功能。OpenSSL提供了产生各种公开密钥对和对称密钥的方法、函数和应用程序,同时提供了对公钥和私钥的DER编解码功能。并实现了私钥的PKCS#12和PKCS#8的编解码功能。OpenSSL在标准中提供了对私钥的加密保护功能,使得密钥可以安全地进行存储和分发。
在此基础上,OpenSSL实现了对证书的X.509标准编解码、PKCS#12格式的编解码以及PKCS#7的编解码功能。并提供了一种文本数据库,支持证书的管理功能,包括证书密钥产生、请求产生、证书签发、吊销和验证等功能。
事实上,OpenSSL提供的CA应用程序就是一个小型的证书管理中心(CA),实现了证书签发的整个流程和证书管理的大部分机制。 - OpenSSL对于随机数的生成和管理也提供了一整套的解决方法和支持API函数。随机数的好坏是决定一个密钥是否安全的重要前提。
 
 - 密钥证书管理
 - 密码算法库 
- 对称加密
OpenSSL一共提供了8种对称加密算法,其中7种是分组加密算法,仅有的一种流加密算法是RC4。这7种分组加密算法分别是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持电子密码本模式(ECB)、加密分组链接模式(CBC)、加密反馈模式(CFB)和输出反馈模式(OFB)四种常用的分组密码加密模式。其中,AES使用的加密反馈模式(CFB)和输出反馈模式(OFB)分组长度是128位,其它算法使用的则是64位。事实上,DES算法里面不仅仅是常用的DES算法,还支持三个密钥和两个密钥3DES算法。 - 非对称加密
OpenSSL一共实现了4种非对称加密算法,包括DH算法、RSA算法、DSA算法和椭圆曲线算法(EC)。DH算法一般用于密钥交换。RSA算法既可以用于密钥交换,也可以用于数字签名,当然,如果你能够忍受其缓慢的速度,那么也可以用于数据加密。DSA算法则一般只用于数字签名。 - 信息摘要
OpenSSL实现了5种信息摘要算法,分别是MD2、MD5、MDC2、SHA(SHA1)和RIPEMD。SHA算法事实上包括了SHA和SHA1两种信息摘要算法。此外,OpenSSL还实现了DSS标准中规定的两种信息摘要算法DSS和DSS1。 
 - 对称加密
 
OpenSSL 包含一个命令行工具用来完成 OpenSSL 库中的所有功能,官网及下载地址:
 https://www.openssl.org/
 http://slproweb.com/products/Win32OpenSSL.html
2 Keytool
keytool 是JDK 提供的证书相关操作的命令行工具,只要安装JDK 并且配置好相应的环境变量或者切换工作目录至keytool工具目录下,就可以在命令窗口运行。
C:\Users\Administrator>keytool -help
密钥和证书管理工具命令:-certreq            生成证书请求-changealias        更改条目的别名-delete             删除条目-exportcert         导出证书-genkeypair         生成密钥对-genseckey          生成密钥-gencert            根据证书请求生成证书-importcert         导入证书或证书链-importpass         导入口令-importkeystore     从其他密钥库导入一个或所有条目-keypasswd          更改条目的密钥口令-list               列出密钥库中的条目-printcert          打印证书内容-printcertreq       打印证书请求的内容-printcrl           打印 CRL 文件的内容-storepasswd        更改密钥库的存储口令使用 "keytool -command_name -help" 获取 command_name 的用法C:\Users\Administrator>
 
C:\Users\Administrator>keytool -certreq -help
keytool -certreq [OPTION]...生成证书请求选项:-alias <alias>                  要处理的条目的别名-sigalg <sigalg>                签名算法名称-file <filename>                输出文件名-keypass <arg>                  密钥口令-keystore <keystore>            密钥库名称-dname <dname>                  唯一判别名-storepass <arg>                密钥库口令-storetype <storetype>          密钥库类型-providername <providername>    提供方名称-providerclass <providerclass>  提供方类名-providerarg <arg>              提供方参数-providerpath <pathlist>        提供方类路径-v                              详细输出-protected                      通过受保护的机制的口令
 
C:\Users\Administrator>keytool -changealias -help
keytool -changealias [OPTION]...更改条目的别名选项:-alias <alias>                  要处理的条目的别名
-destalias <destalias>          目标别名
-keypass <arg>                  密钥口令
-keystore <keystore>            密钥库名称
-storepass <arg>                密钥库口令
-storetype <storetype>          密钥库类型
-providername <providername>    提供方名称
-providerclass <providerclass>  提供方类名
-providerarg <arg>              提供方参数
-providerpath <pathlist>        提供方类路径
-v                              详细输出
-protected                      通过受保护的机制的口令
 
3 XCA
XCA(X Certificate and key management) 是作为证书和密钥存储,以及作为签发证书的签名应用程序,是一个开源的工具,底层还是基于openssl的类库和API的。
 首先需要下载并安装工具,官网地址为:https://www.hohnstaedt.de/xca/index.php/download
 
4 KeyStore Explorer
KeyStore Explorer KeyStoreExplorer是Java命令行程序keytool和jarsigner的开源GUI替代工具。KeyStore Explorer通过直观的图形用户界面展示其丰富的功能。
首先需要下载并安装工具,官网地址为:https://keystore-explorer.org/downloads.html
 
 
