我正在两个应用程序之间实现数字签名及其验证。我正在使用C#/ WCF来执行此操作(发件人)。我使用以下代码生成签名。
string signature = Convert.ToBase64String(encryptingkey.SignHash(hash, CryptoConfig.MapNameToOID("SHA1")));
以下代码在我的第二个应用程序(接收器)中用于生成用于验证的字节数组。
byte[] signatureByte = Convert.FromBase64String(signature);
当我在本地计算机上运行这两个应用程序时,这很好用。但是,当我将第二个应用程序部署到服务器时,我得到以下错误,其中我有上述语句Convert.FromBase64String(signature):
Base-64字符数组或字符串的长度无效。
我在我的服务器和本地机器上安装了相同的证书。
发送应用程序是WCF服务,接收应用程序是ASP.NET MVC Web应用程序。我将签名和一些附加信息发布到其控制器之一。