如何在Android上使用SpongyCastle创建pkcs#7证书?

时间:2012-01-18 00:17:53

标签: android x509certificate bouncycastle

我正在尝试在我的Android应用pkcs7文件上生成客户端和服务器之间的通信(机密数据在它们之间传输)。

我实际上尝试过SpongyCastle,这对于这项工作似乎很好。

实际上,我尝试了给出的示例:AttrCertExample。我的证书似乎是在最后生成的(v3一个)并经过验证,一切正常。

然后我尝试像这样制作它的版本:

String strResult = Base64.encode(cert.getTBSCertificate(), Base64.NO_WRAP).toString();

但是这个操作的结果给了我一个非常小的Base 64编码的字符串(我希望有这样的东西:

MIICyzCCAbOgAwI [...] 6Shws =(基地64的960个字符)

你真的知道如何获得由SpongyCastle生成的证书的PKCS#7版本吗?

非常感谢,我很感激帮助。如果需要,我可以提供更多代码。

1 个答案:

答案 0 :(得分:0)

我很快得到了答案。这是你这样做的:

// returns a byte array containing the Certificate
byte[] buf = clientCert.getEncoded(); 

// Returns Base64 encoded certificate
String strCertificateCrypted_b64 = new String(Base64.encode(buf, Base64.NO_WRAP)); 

然后你获得这样的证书:

MIIDHjCCAgagAwIBAgIEOH9W+ [...] czP+BohBw==

通过DER扩展程序保存,您可以轻松查看证书内容。