最近几天我一直在纠结这个问题。想知道有没有其他人遇到过这种情况。我正在尝试使用我的 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":"证书签名验证失败","ErrorDescription":"证书签名验证失败,因为 http://www.apple.com/business/mdm\" target=\"_blank \">签名</a> 无效。"}
有谁知道出了什么问题?