【发布时间】:2012-03-21 15:53:42
【问题描述】:
过去几天我一直在努力解决这个问题。想知道有没有其他人遇到过这种情况。我正在尝试使用我的 MDM 供应商证书签署 CSR。我正在按照
中的说明进行操作以下是计算 SHA1WthRSA 签名的函数
private static string DoSign(X509Certificate2 signerCert, byte[] csrDerBytes)
{
var crypt = (RSACryptoServiceProvider)signerCert.PrivateKey;
var sha1 = new SHA1CryptoServiceProvider();
byte[] hash = sha1.ComputeHash(csrDerBytes);
byte[] signedHash = crypt.SignHash(hash, CryptoConfig.MapNameToOID("SHA1"));
return Convert.ToBase64String(signedHash);
}
按照描述将此签名附加到编码的plist,并将请求上传到苹果服务器(https://identity.apple.com/pushcert)后,我收到了:
{"ErrorCode":-80018,"ErrorMessage":"Certificate Signature Verification failed","ErrorDescription":"Certificate Signature Verification failed because the http://www.apple.com/business/mdm\" target= \"_blank\">签名无效。"}
有人知道怎么回事吗?
【问题讨论】:
-
发现问题,签名代码工作正常,证书链有问题,返回的错误指向签名,具有误导性。
-
请问是什么问题?因为我有同样的问题
-
我的问题是我发送的证书链使用了错误的 CA 证书,它需要来自 Apple WWDR CA。
-
请发布您的解决方案作为答案
标签: java apple-push-notifications mdm