AES加密解密及证书密钥的获取

来源:互联网 发布:不是网络常用诈骗手段 编辑:程序博客网 时间:2024/05/20 11:47

    最近几天一直在做单点登录加密串的解密,碰到了一些问题,将这些问题分享下。
    首先加密解密需要用到jce_policy-1_5_0.zip,下载地址:http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jce_policy-1_5_0.zip?BundledLineItemUUID=PdKJ_hCvc84AAAEq2HgdNaQ9&OrderID=UVSJ_hCvhXQAAAEqyXgdNaQ9&ProductID=NVXACUFBETQAAAEY68A5AXuH&FileName=/jce_policy-1_5_0.zip 然后将jce_policy-1_5_0.zip 中的 jar 包替换 %JAVA_HOME%/jre/lib/security 目录下的相关文件
    相关代码
    从网上找到了好多RSA-SHA1读取证书密钥签名的代码,大部分都是相同的,都不是很好用。 读取 PKCS12证书(.pfx)所需要的第三方包bcprov-jdk15-145.jar 地址 :http://www.bouncycastle.org/download/bcprov-jdk15-145.jar ,将jar包放到%JAVA_HOME%/jre/lib/ext下,在java.security添加下列文字:
security.provider.7=org.bouncycastle.jce.provider.BouncyCastleProvider
这样就可以读取证书文件,获取私钥签名了。

    私钥签名相关代码

    在keyStore.getKey获取PricateKey对象是要知道证书的别名,获取别名可以参考下面链接

    http://snowolf.javaeye.com/blog/735294

    公钥签名验证代码

    注意:如果证书是2048bit,那么签名获取的256位的byte数组,1024bit对应的128位byte数组

原创粉丝点击