首页 > 代码库 > “System.FormatException”类型的未经处理的异常在 System.IdentityModel.dll 中发生 其他信息: 十六进制字符串格式无效。

“System.FormatException”类型的未经处理的异常在 System.IdentityModel.dll 中发生 其他信息: 十六进制字符串格式无效。

如果你的 WebService 客户端证书配置都没问题,唯独调用接口会出现这个错误

“System.FormatException”类型的未经处理的异常在 System.IdentityModel.dll 中发生   其他信息: 十六进制字符串格式无效。

解决办法:

打开你的证书列表,找到证书指纹:

技术分享

接下来是重点,复制的时候,切记不要用全选,像这样:

技术分享

要用鼠标仔细的从第一个“可见”字符选起,到“可见”字符结束,像这样:

技术分享

请仔细对比以上两张图的差别,不然会像我一样,折腾了半天就因为多复制了一个隐藏字符。。。

 

下面分别是复制了隐藏字符的指纹(第一条)和没有复制隐藏字符的指纹(第二条):

技术分享

表面上看起来并没有差别,如果转换成HEX呢?

技术分享

竟然多了一段内容,E2808E,这一段就是我们看不见的隐藏字符

复制的时候不小心,就会带上隐藏字符,有些编辑器会帮你过滤掉不可见字符,有些是不会过滤的。

且复制,且珍惜。

“System.FormatException”类型的未经处理的异常在 System.IdentityModel.dll 中发生 其他信息: 十六进制字符串格式无效。