Я занимаюсь этой проблемой в течение последних нескольких дней. Удивление, если кто-то еще столкнулся с этим. Я пытаюсь подписать CSR с моим сертификатом MDM Vendor. Я следуя инструкциям вПодписание подписки Apple MDM CSR не подтверждается Подтверждение подписи
Ниже приводится функция, которая вычисляет signiature для 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": "Подпись сертификата Verifi cation failed "," ErrorDescription ":« Проверка подписи сертификата не удалась, поскольку подпись http: //www.apple.com/business/mdm \ "target = \" _ blank \ "> </a> недействительна."}
Кто-нибудь знает, что не так?
Обнаружена проблема, код подписи работает правильно, это была проблема с цепочкой сертификатов, ошибка была ошибочной, поскольку она указывала на подпись. – savagepanda
В чем проблема? Поскольку у меня такая же проблема – michelle
, моя проблема заключалась в том, что цепочка сертификатов, которую я отправил, использовала неправильный сертификат CA, это должно было быть от Apple WWDR CA. – savagepanda