81,092
社区成员
发帖
与我相关
我的任务
分享
public static void main(String[] argv)
{
try
{
Session session = null;// 加密库回话session对象
byte[] fbisCer = null ;
byte[] Key = null ;
JCrypto jcrypto = JCrypto.getInstance();
jcrypto.initialize("JSOFT_LIB", null);
session = jcrypto.openSession("JSOFT_LIB");
//读取公钥证书
InputStream is = jcrypto.getClass().getResourceAsStream("/fbis/"+"14.cer");
int len = is.available();
fbisCer = new byte[len];
is.read(fbisCer);
is.close();
//读取私钥匙证书
is = jcrypto.getClass().getResourceAsStream("/fbis/"+"pfx_14.pfx");
len = is.available();
Key = new byte[len];
is.read(Key);
is.close();
EnvelopUtil envUtil = new EnvelopUtil();
X509Cert cert = new X509Cert(fbisCer);
envUtil.addRecipient(cert);
envUtil.setCMSFlag();
byte[] b64MsgEnvelop = envUtil.envelopeMessage("aaaa".getBytes(), EnvelopUtil.DES3_CBC,
session);
JKey priKey = KeyUtil.getPriKey(Key, "cmbc");
// 数字信封接收者的公钥证书
X509Cert cert1 = CertUtil.getCert(Key, "cmbc");
// 根据私钥,公钥证书解密信息
byte[] src = envUtil.openEnvelopedMessage(b64MsgEnvelop, priKey, cert1, session);
System.out.println("tt:"+b64MsgEnvelop);
System.out.println(new String(src));
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}