当前位置: 首页 > 知识库问答 >
问题:

在C#中用BouncyCastle生成一个CMS PKCS#7文件

东方乐
2023-03-14

我开始学密码学了。我需要用XML、RSA私钥(证书中不包括的是文件扩展名。key)和证书。cer扩展名生成一个PKCS#7文件。

为此,我使用了一个bouncycastle。

编辑:

public static byte[] FirmaBytesMensaje(byte[] argBytesMsg, X509Certificate2 argCertFirmante)
{
    try
    {
        //Add message in object ContentInfo 
        ContentInfo infoContenido = new ContentInfo(argBytesMsg);
        SignedCms cmsFirmado = new SignedCms(infoContenido);


        CmsSigner cmsFirmante = new CmsSigner(argCertFirmante);
        cmsFirmante.IncludeOption = X509IncludeOption.EndCertOnly;


        // Sign message PKCS #7 
        cmsFirmado.ComputeSignature(cmsFirmante);


        // Encodeo el mensaje PKCS #7. 
        return cmsFirmado.Encode();
    }
    catch (Exception excepcionAlFirmar)
    {
        throw new Exception("***Error: " + excepcionAlFirmar.Message);
    }
}
openssl smime -sign -signer cert.crt -inkey private.key -out file.xml.cms -in file.xml -outform PEM -nodetach

暂时还没有答案

 类似资料:
  • 问题内容: 我正在尝试编写一种简单的算法来读取两个XML文件,它们的节点和结构完全相同,但子节点内部的数据不一定相同,顺序也不相同。我该如何使用Microsoft的XML Diff .DLL创建一个简单的实现来创建第三个临时XML(即两个第一个XML之间的差异)? MSDN上的XML Diff: XML差异和补丁工具 XML Diff和Patch GUI工具 要比较的两个不同XML文件的样本XML

  • 刚开始使用PGP,我正在尝试通过C#控制台应用程序加密一个文件。在我的研究中,似乎BouncyCastle是一个更受欢迎的应用。我找到了下面的文章,它看起来很好,除了我只有公钥。http://burnignorance.com/c-coding-tips/pgp-encryption-decryption-in-c/

  • 问题内容: 是否有比使用Stringbuilder进行以下操作更好的方法来生成C#HTML电子邮件(用于通过System.Net.Mail发送): 等等等等? 问题答案: 您可以使用MailDefinition类。 这是您的用法:

  • 我正在一个项目中使用SSHJ库。SSHJ库使用bouncycastle加密。 在eclipse中一切都很好,但是在我使用one-jar将所有内容打包到单个jar包中之后,我面临着bouncyCastle lib的问题。bcprov-jdk15on-1.51.jar包含在 /lib的JAR包中,所有其他库以及例如sshj.jar. 在日志上,我有这些: 未找到Security Provider类or

  • 我有一个使用BouncyCastle作为安全提供者的应用程序,但是我想切换到另一个直接使用OpenSSL(consecrypt)的应用程序。我遇到的问题是,我正在使用BouncyCastle提供的密钥生成器中的ECDH“密钥”,但在我的其他库中没有类似的密钥生成器。 为了比较这两者,我将使用两种方法解码这些点,输入如下- 为提高可读性而添加换行符 使用BouncyCastle方法- 返回的是。返回