Java 从P7B文件获取证书链

Java 从P7B文件获取证书链,java,cryptography,digital-signature,bouncycastle,Java,Cryptography,Digital Signature,Bouncycastle,如何从P7B文件中获取证书链。 P7B文件仅包含证书和公钥。我想获得证书链并将签名附加到pdf文件。我用Bouncy Castle图书馆来做这个 任何帮助都将不胜感激。p7b文件的导入取决于文件的格式。如果是DER格式,则此代码应适用于: List<X509Certificate> certList = new List<X509Certificate>(); var signedData = File.ReadAllBytes(filep

如何从P7B文件中获取证书链。 P7B文件仅包含证书和公钥。我想获得证书链并将签名附加到pdf文件。我用Bouncy Castle图书馆来做这个


任何帮助都将不胜感激。

p7b文件的导入取决于文件的格式。如果是DER格式,则此代码应适用于:

        List<X509Certificate> certList = new List<X509Certificate>();
        var signedData = File.ReadAllBytes(filepath);
        CmsSignedData s = new CmsSignedData(signedData);
        IX509Store certs = s.GetCertificates("Collection");
        ICollection cCol = certs.GetMatches(null);
        var cEn = cCol.GetEnumerator();
        while (cEn.MoveNext())
        {
            certList.Add((X509Certificate)cEn.Current);
        }
        return certList;
List certList=新列表();
var signedData=File.ReadAllBytes(文件路径);
CmsSignedData s=新的CmsSignedData(signedData);
IX509Store certs=s.GetCertificates(“集合”);
ICollection cCol=certs.GetMatches(null);
var cEn=cCol.GetEnumerator();
while(cEn.MoveNext())
{
证书列表添加((X509证书)中心当前版本);
}
返回证书列表;

这是一个相当快的错误,因此文件的格式可能不正确?我们不知道,我们没有看到该文件。可能是的副本