Tag: pkcs#12

单声道xbuild错误CS1548 – 密钥文件格式不正确

所以我试图让VS2010 C#项目跨平台。 第一个目标是在Windows的Mono 2.10.5中构建它。 我还没有触及任何代码 – 我开始使用xbuild最近构建sln文件的能力。 (顺便说一下,我使用Jenkins来触发构建,而不是因为我在命令行中得到相同的结果。) 我收到“ 错误CS1548:程序集签名时出错。指定的密钥文件`AlphaBeta.pfx’格式不正确 ”。 这个错误没有太多谷歌果汁。 有谁知道会导致什么? 提前致谢! 完整输出如下: C:\Program Files\Jenkins\jobs\AlphaBeta\…\AlphaSolution>”C:\Program Files\Mono-2.10.5\bin\xbuild” AlphaSolution.sln XBuild Engine Version 2.10.5.0 Mono, Version 2.10.5.0 Copyright (C) Marek Sieradzki 2005-2008, Novell 2008-2011. Build started 9/20/2011 3:54:14 PM. C:\Program Files\Jenkins\jobs\AlphaBeta\…\AlphaSolution\AlphaSolution.sln: warning : Ignoring vcproj ‘ZBM’. C:\Program Files\Jenkins\jobs\AlphaBeta\…\AlphaSolution\AlphaSolution.sln: warning : Don’t know how to handle GlobalSection […]

解码PKCS#12文件

我正在寻找在.NET中解码PKCS#12文件的方法,我需要提取私钥和任何证书,以便我可以以编程方式访问以下内容。 系数 publicExponent privateExponent prime1 prime2 exponent1 exponent2 系数 我需要这些信息,以便我可以成功使用PKCS#11创建私钥并在USB令牌上进行设置。 我找到了一个使用OpenSSL输出这些数据的网站。 当我发现OpenSSL.NET时,我非常兴奋,但是分割PKCS#12文件的function还没有实现。 我想知道是否有人知道任何替代品。 谢谢 罗汉

如何使用C#从PKCS#12(.p12)文件获取私钥

我试图使用PKCS#12证书签署一些数据,但是我从PKCS#12(.p12)文件获取私钥时遇到问题。 public byte[] sign(string text) { string password = “1111”; X509Certificate2 cert = new X509Certificate2(“c:\\certificate.p12”,password); byte[] certData = cert.Export(X509ContentType.Pfx,password); X509Certificate2 newCert = new X509Certificate2(certData, password); RSACryptoServiceProvider crypt = (RSACryptoServiceProvider)newCert.PrivateKey; SHA1Managed sha1 = new SHA1Managed(); UnicodeEncoding encoding = new UnicodeEncoding(); byte[] data = encoding.GetBytes(text); byte[] hash = sha1.ComputeHash(data); return crypt.SignHash(hash, CryptoConfig.MapNameToOID(“SHA1”)); } 问题是newCert.PrivateKey为null但如果我使用.pfx certicitae以类似的方式工作。 public byte[] […]

如何以编程方式将带有证书链的pfx导入证书存储区?

我正在尝试以编程方式在我的本地计算机的证书存储中导入X509证书(pfx / PKCS#12)。 此特定证书具有一系列证书,证书路径如下所示: 根证书CA. 组织证书CA. 组织2证书CA. 我的证书 我使用的代码如下所示: cert = new X509Certificate2(pathToCert, password); if (cert != null) { var store = new X509Store(StoreName.My, StoreLocation.LocalMachine); store.Open(OpenFlags.ReadWrite); if (!store.Certificates.Contains(cert)) { store.Add(cert); } } 此代码确实导入了证书,但它似乎忽略了链。 如果我检查商店中的证书,则证书路径仅显示: 我的证书 但是,当我手动导入pfx时,它确实显示完整路径。 我在这里跳过一步,还是我错过了一些参数? 有人可以对此有所了解吗?