【问题标题】:How to create pkcs#7 certificate with SpongyCastle on Android?如何在 Android 上使用 SpongyCastle 创建 pkcs#7 证书?
【发布时间】:2012-01-18 00:17:52
【问题描述】:

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

我实际上尝试了 SpongyCastle,这似乎很适合这项工作。

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

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

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

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

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

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

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

【问题讨论】:

    标签: android x509certificate bouncycastle


    【解决方案1】:

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

    // 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 扩展保存,您将能够轻松查看证书内容。

    【讨论】:

    • 是的,我看到之后,我需要制作 DER 证书(PKCS#7),而不是包含私钥的 PKCS#12。为了保持逻辑,我更改了标题。
    猜你喜欢
    • 1970-01-01
    • 2017-12-27
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    • 2016-06-12
    • 1970-01-01
    • 2020-03-05
    • 2016-07-21
    相关资源
    最近更新 更多