客户端证书访问密钥(加密)

时间:2013-10-15 02:28:33

标签: encryption key certificate

我有一个客户端证书文件(.perm,.csr,.pfx,.key),这些文件包含十六进制代码 下面的代码片段采用cipherText并执行一些验证。这是一个servlet,cipherText作为请求参数传递。我查看了cert文件并提供了这些文件中提供的所有十六进制代码作为输入,但似乎没有任何效果。

看看它解码的方式可以告诉任何人从证书文件中得到什么样的输入:

validate(cipherText)
 private static final byte[] desKeyData = {
        (byte)0xA2, (byte)0x15, (byte)0x37, (byte)0x07, (byte)0xCB, (byte)0x62, 
        (byte)0xC1, (byte)0xD3, (byte)0xF8, (byte)0xF1, (byte)0x97, (byte)0xDF,
        (byte)0xD0, (byte)0x13, (byte)0x4F, (byte)0x79, (byte)0x01, (byte)0x67, 
        (byte)0x7A, (byte)0x85, (byte)0x94, (byte)0x16, (byte)0x31, (byte)0x88 };


byte[] bCipherText = Base64.decode(CipherText);


Cipher oC3des = Cipher.getInstance("DESede/CBC/PKCS5Padding");
SecretKeySpec    oKey = new SecretKeySpec(s_desKeyData , "DESede");
IvParameterSpec oIvSpec = new IvParameterSpec(s_baIV);

oC3des.init(Cipher.DECRYPT_MODE, oKey, oIvSpec);
byte[] plaintext = oC3des.doFinal(bCipherText );

return new String(plainText, Charset.forName("UTF-8"));

0 个答案:

没有答案
相关问题