Сбой подписи Apple MDM CSR при проверке подписи - PullRequest
5 голосов
/ 21 марта 2012

Я боролся с этим вопросом последние несколько дней.Хотите знать, если кто-то еще сталкивался с этим.Я пытаюсь подписать 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 \"> подпись недопустима. "}

Кто-нибудь знает, что не так?

1 Ответ

3 голосов
/ 18 августа 2012

Обнаружена проблема, код подписи работает правильно, это была проблема с цепочкой сертификатов, возвращенная ошибка вводила в заблуждение, так как указывала на подпись.

моей проблемой была отправленная мной цепочка сертификатовиспользуя неправильный сертификат CA, он должен быть от Apple WWDR CA.

...