Я боролся с этим вопросом последние несколько дней.Хотите знать, если кто-то еще сталкивался с этим.Я пытаюсь подписать CSR с моим сертификатом MDM Vendor.Я следую инструкциям в
http://adcdownload.apple.com//Documents/mobile_device_management_protocol/mobiledevicemanagement_121211.pdf
Ниже приводится функция, которая вычисляет подпись для 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);
}
После прикрепления этой подписи к закодированному спискукак описано, и загрузив запрос на сервер Apple (https://identity.apple.com/pushcert), Я получил:
{"ErrorCode": - 80018, "ErrorMessage": "Ошибка проверки подписи сертификата", "ErrorDescription ":" Ошибка проверки подписи сертификата, поскольку http://www.apple.com/business/mdm\" target = \ "_ blank \"> подпись недопустима. "}
Кто-нибудь знает, что не так?