我试图实例化一个X509Certificate对象,但我一直在运行相同CryptographicException的错误消息:
"找不到原始签名者".
我尝试了几种加载证书的方法:
// some different things that I have tried
var cert = X509Certificate.CreateFromCertFile(certFileName);
var cert2 = new X509Certificate(byteArray);
var cert3 = new X509Certificate(byteArray, secretString);
var cert4 = X509Certificate.CreateFromSignedFile(certFileName);
Run Code Online (Sandbox Code Playgroud)
我已尝试从文件和字节数组加载.每次我得到同样的错误.可能是什么导致了这个?
我正在编写一个嵌入式脚本语言的编译器,它将在我的应用程序中运行.我目前正在研究编译器的语义分析部分.理论上,我想知道如何检查给定脚本中的所有代码路径是否都返回一个值.当没有所有代码路径返回值(主要是SO问题)时,进行Google搜索只会产生人们在自己的代码中看到错误的结果,因此我无法找到解释如何进行实际检查的来源.谁能指出我正确的方向?
注意: 我特意寻找一个权威的来源,概述一个严格的算法,如果可能的话.
我正在解决客户端报告的一个奇怪的问题,该问题是由尝试解析无效XML的应用程序引起的.我认为根本原因与XML字符串如何编码然后解码有关.我有一个内部API来获取XML字符串(我知道它开始有效),然后将其转换为字节数组并用readonly包装它MemoryStream.然后在另一侧,流被转换回字符串,然后传递给XDocument.Parse(string).后一个调用失败,说"根级别的数据无效.第1行,第1位".无论如何,我认为根本原因与我如何编码然后解码字符串有关.实际上,以下调试代码行返回的字符串与传入的字符串不同.
Encoding.Default.GetString(Encoding.Default.GetBytes(GetMeAnXmlString())));
Run Code Online (Sandbox Code Playgroud)
Encoding.Default在进入的方式中使用然后退出会产生与我开始时不同的字符串.那是疯狂的.有任何想法吗?
注意:
我正在使用一个我无法更改的API,它检索包含XML的流,因此我无法改变使用Encoding.Default.如果一切正常,那么这样做会冒生产问题(也就是showstoppers).