标签: cryptographicexception

CryptographicException未处理:系统找不到指定的文件

我试图接受SSL通信的奥秘,并在这个网站上找到了一个很棒的教程.我试图测试我自己的证书.使用Visual Studio 2012,我只是添加了一个现有文件(我的证书为.pfx格式),然后更改了app.config中的"certificate"和"password"设置.但是,当试图运行它时,我收到一个错误:

CryptographicException未处理:系统找不到指定的文件

然后,我在我的Web服务中尝试了相同的操作.我在那里得到了关于错误的更多细节:

System.Security.Cryptography.CryptographicException: System cannot find specified file.

   at System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr)
   at System.Security.Cryptography.X509Certificates.X509Utils._QueryCertFileType(String fileName)
   at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromFile(String fileName, Object password, X509KeyStorageFlags keyStorageFlags)
   v System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(String fileName, String password)
   v TestServer.DataService.LoadSoap() v c:\Users\Administrator\Documents\Visual Studio 2012\Projects\TestServer\TestServer\DataService.asmx.cs:line 48
Run Code Online (Sandbox Code Playgroud)

我已经把这个问题写给了文章的作者,但自从他上次回复是在2012年3月,我不确定,他是否会回复.如果有人可以帮我解决这个问题,我将非常感激.

PS:将证书从.cer导出到.pfx时,我已经更改了导出文件的标题.虽然我怀疑它对这个问题的影响,但我宁愿提一下.

.net c# cryptographicexception x509certificate

56
推荐指数
6
解决办法
4万
查看次数

"解密表单cookie时,"在加密操作期间发生错误"

我已经将我的网站上传到网站主办,这个错误出现了;
' 在加密操作期间发生错误.'.

我做了一些研究,似乎将经过形式化的cookie绑定到MachineKey(使用webhost时有所不同).


我找到了一个方法来解决这个问题,但错误仍然存​​在.

码:

/// <summary>
    /// This method removes a cookie if the machine key is different than the one that saved the cookie;
    /// </summary>
    protected void Application_Error(object sender, EventArgs e)
    {
        var error = Server.GetLastError();
        var cryptoEx = error as CryptographicException;
        if (cryptoEx != null)
        {
            FederatedAuthentication.WSFederationAuthenticationModule.SignOut();
            Global.Cookies.FormAuthenticated Cookie = new Global.Cookies.FormAuthenticated();
            Cookie.Delete();
            Server.ClearError();
        }
    }
Run Code Online (Sandbox Code Playgroud)


堆栈跟踪:

[CryptographicException: Error occurred during a cryptographic operation.]
   System.Web.Security.Cryptography.HomogenizingCryptoServiceWrapper.HomogenizeErrors(Func`2 func, Byte[] input) +115
   System.Web.Security.Cryptography.HomogenizingCryptoServiceWrapper.Unprotect(Byte[] protectedData) +59
   System.Web.Security.FormsAuthentication.Decrypt(String encryptedTicket) …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net cryptographicexception

37
推荐指数
9
解决办法
5万
查看次数

TripleDES:指定密钥是'TripleDES'的已知弱密钥,无法使用

我正在使用.NET 3.0类System.Security.Cryptography.MACTripleDES类来生成MAC值.不幸的是,我正在使用一个使用" 1111111111111111"(作为十六进制)作为单长DES密钥的硬件设备.System.Security.Cryptography如果您尝试使用加密弱键,库会对键执行一些完整性检查并返回异常.

例如:

byte[] key = new byte[24];
for (int i = 0; i < key.Length; i++)
  key[i] = 0x11;

byte[] data = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
byte[] computedMac = null;
using (MACTripleDES mac = new MACTripleDES(key))
{
  computedMac = mac.ComputeHash(data);
}
Run Code Online (Sandbox Code Playgroud)

抛出一个例外

System.Security.Cryptography.CryptographicException : Specified key is a known weak key for 'TripleDES' and cannot be used.
Run Code Online (Sandbox Code Playgroud)

我知道这不是一个安全的密钥.在生产中,设备将使用新的安全密钥进行闪存.同时,有没有办法抑制这个异常被抛出?也许是一个app.config或注册表设置?

编辑:密钥实际上是101010 ...由于算法强制奇校验.我不确定这是DES算法的通用性还是我付款处理工作的要求.

编辑2:Daniel的答案下面有一些关于黑客.NET的非常好的信息.不幸的是,我无法使用这种技术解决我的问题,但仍然有一些有趣的阅读.

.net c# cryptography cryptographicexception

12
推荐指数
2
解决办法
1万
查看次数

CryptographicException:填充无效,无法删除,并且viewstate MAC验证失败

监视我的全局异常日志这个错误似乎无法删除,无论我做什么,我以为我终于摆脱它但它又回来了.您可以在此处查看类似帖子上的错误痕迹.

关于环境的说明:

IIS 6.0,.NET 3.5 SP1 单服务器 ASP.NET应用程序

已采取的步骤:

  <system.web>
    <machineKey validationKey="big encryption key"
      decryptionKey="big decryption key"
      validation="SHA1" decryption="AES" />
Run Code Online (Sandbox Code Playgroud)

在我的所有页面的页面基础中

  protected override void OnInit(EventArgs e)
  {
    const string viewStateKey = "big key value";

    Page.ViewStateUserKey = viewStateKey;
  }
Run Code Online (Sandbox Code Playgroud)

同样在页面的源代码中,我可以看到所有ASP.NET生成的隐藏字段都正确地位于页面顶部.

c# asp.net cryptographicexception unhandled-exception

9
推荐指数
1
解决办法
1万
查看次数

ASP.NET中的NetworkCredential错误

我正在尝试使用NetworkCredential类通过ASP.NET访问网页.但是我继续通过以下消息获得异常System.Security.Cryptography.CryptographicException: The handle is invalid

下面是关于我如何调用该函数的代码.任何帮助是极大的赞赏.

C#:

System.Net.WebClient client = new System.Net.WebClient();
client.Credentials = new System.Net.NetworkCredential("Admin", "Nimda");
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪

[CryptographicException: The handle is invalid.
]

System.Security.SecureString.ProtectMemory() +154
   System.Security.SecureString.InitializeSecureString(Char* value, Int32 length) +170
   System.Security.SecureString..ctor(Char* value, Int32 length) +65
   System.Net.SecureStringHelper.CreateSecureString(String plainString) +6181188
   System.Net.NetworkCredential..ctor(String userName, String password) +64
Run Code Online (Sandbox Code Playgroud)

c# asp.net webclient cryptographicexception networkcredentials

6
推荐指数
2
解决办法
5509
查看次数

使用X509Certificate2获取PrivateKey会导致CryptographicException"指定的提供程序类型无效"

大家,

我正在开发一个使用X509Certificate2从认证文件中获取私钥的Web应用程序.代码段如下所示:

    public static RSACryptoServiceProvider GetSignProviderFromPfx()
    {
        var strFileName = "c:\cer\mycerfile.pfx";
        var strPassword = "000000";            
        X509Certificate2 pc = new X509Certificate2(strFileName, strPassword, X509KeyStorageFlags.MachineKeySet);
        var ThePivateKey = pc.PrivateKey;

        return (RSACryptoServiceProvider)ThePivateKey;
    }
Run Code Online (Sandbox Code Playgroud)

但是pc.Privatekey语句导致System.Security.Cryptography.CryptographicException"指定了无效的提供程序类型".我确定认证文件没有问题,它确实有一个私钥.并且属性pc.HasPrivateKey也返回true.

测试环境是VS2013,窗口7.

我也试过以下:

一个.我用iis express在VS2013中调试了它,出现了问题.

湾 我在另一台与我的环境相同的计算机上调试它,问题也出现了.

C.我将应用程序发布到运行在Windows Web Server 2008 R2上的iis的服务器上,它运行良好.

d.我向widows azure网站发布了该应用程序,它也运行良好.

因此,我猜代码片段没有问题.引发异常的关键原因是运行环境可能存在一些问题.我检查并比较了不同环境下认证文件的读/写权限,它们都是一样的.

有人可以帮忙吗?

谢谢.

cryptographicexception private-key

4
推荐指数
1
解决办法
2364
查看次数

RSA.ImportParameters()中的CryptographicException - 特殊1024键中的错误数据

我们有一个C#/ .Net 4.0应用程序,它从WebService中收到的Base64中的String中导入RSA私钥.

此应用程序适用于1024位的RSA密钥,但不使用特殊类型的rsa私钥(大约1%的密钥).

这是字节长度:

工作密钥:

  • 模数=> 128字节
  • 指数=> 3个字节
  • D => 128字节
  • P => 64字节
  • Q => 64字节
  • DP => 64字节
  • DQ => 64字节
  • IQ => 64字节

不工作的密钥:

  • 模数=> 128字节
  • 指数=> 3个字节
  • D => 127字节
  • P => 64字节
  • Q => 64字节
  • DP => 64字节
  • DQ => 64字节
  • IQ => 64字节

不同之处在于D的长度(128个工作,127个不工作).非工作密钥比工作密钥短1个字节.

参数已设置但在执行RSA.ImportParameters(rsaParams)时会抛出带有"错误数据"消息的CryptographicException.

应该包括什么来解决这个问题?

c# cryptographicexception rsa private-key

2
推荐指数
1
解决办法
801
查看次数

以编程方式从 PFX 文件加载 X509Certificate2 时出现 CryptographicException:

在 tmpAEC4.pfx 文件中,我在此消息的底部设置了表示证书的内容。当我尝试实例化 X509Certificate2 时:

var data = File.ReadAllBytes(@"C:\Temp\tmpAEC4.pfx");
new X509Certificate2(data, "9G8U922PWY");
Run Code Online (Sandbox Code Playgroud)

我收到以下异常

(System.Security.Cryptography.CryptographicException: 'An error occurred during encode or decode operation.):
Run Code Online (Sandbox Code Playgroud)

密码正确,就像我手动导入pfx一样,它可以工作。任何的想法?

证书:

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 …
Run Code Online (Sandbox Code Playgroud)

cryptographicexception pfx x509certificate2

1
推荐指数
1
解决办法
932
查看次数