一、概念及相关术语定义
SSL双向认证:SSL协商时默认只认证Server侧,即客户端(浏览器等)总是需要验证服务器端的数字证书。但在某些场合,为了验证用户的有效性,例如,登录网上银行及一些敏感的服务器时就需要用户提供自己的有效数字证书(如U盾等)。而用户数字证书被加载和鉴证的SSL协商或者重协商的过程便是SSL的双向认证。
JSSE: (Java 安全套接字扩展,Java Secure Socket Extension)是SSL和TLS的纯Java实现,同时它是一个开放的标准,每个公司都可以自己实现JSSE,通过它可以透明地提供数据加密、服务器认证、信息完整性等功能,就像使用普通的套接字一样使用安全套接字,大大减轻了开发者的负担,使开发者可以很轻松将SSL协议整合到程序中,并且JSSE能将安全隐患降到了最低点。
JKS:JKS属于Java秘钥库(KeyStore)的一种,Provider为Sun
JCEKS: 也属于Java秘钥库中的一种,其Provider为SunJCE
PKCS#12:公钥加密标准,它规定了可包含所有私钥、公钥和证书。其以二进制格式存储,也称为PFX文件,在Windows中可以直接导入到秘钥区,PKCS#12的