2012-05-30 4 views
0

Когда я пытаюсь загрузить сертификат в https://identity.apple.com/pushcert/, он сообщает мне, что подпись недопустима.Ошибка подтверждения подписи сертификата

Я выполнил пошаговую инструкцию по работе с мобильным устройством и http://www.softhinker.com/in-the-news/iosmdmvendorcsrsigning. Я использую C# .NET

Формат файла plist_encoded верен.

//Load signing certificate from MDM_pfx.pfx, this is generated using signingCertificatePrivate.pem and SigningCert.pem.pem using openssl 
var cert = new X509Certificate2(MY_MDM_PFX, PASSWORD, X509KeyStorageFlags.Exportable); 
//RSA provider to generate SHA1WithRSA 
//Signed private key - PushCertSignature 
var crypt = (RSACryptoServiceProvider)cert.PrivateKey; 
var sha1 = new SHA1CryptoServiceProvider(); 
byte[] data = Convert.FromBase64String(csr); 
byte[] hash = sha1.ComputeHash(data); 
//Sign the hash 
byte[] signedHash = crypt.SignHash(hash, CryptoConfig.MapNameToOID("sha1RSA")); 
hashedSignature = Convert.ToBase64String(signedHash); 

//Read Certificate Chain 
String mdm = signCSR.readCertificate(mdmCertificate); 
String intermediate = signCSR.readCertificate(intermediateCertificate); 
String root = signCSR.readCertificate(rootCertificate); 

StringBuilder sb = new StringBuilder(); ; 
sb.Append(mdm); 
sb.Append(intermediate); 
sb.Append(root); 

signCSR.PushCertWebRequest(csr, sb.ToString(), hashedSignature); 

Я не уверен, что разместить в MDM_pfx.pfx. Я сделал то, что я сгенерировал cst для загрузки на корпоративный портал обеспечения iOS и загружаю сертификат.
Затем я экспортировал закрытый ключ CSR, который я сгенерировал и экспортировал его как .pfx-файл. Это файл, который я использовал.

был ли это правильным способом?

ответ

0

Я решил эту проблему с помощью: C: \ Program Files (x86) \ GnuWin32 \ Bin> OpenSSL PKCS12 -export -out mdmapnspfx.pfx - INKEY mdmpk.pem -в mdm.pem

Ключ был неправильным, я не использовал сертификат mdm.pem, он был подписан сам по себе.

1

То, что вы должны загрузить в https://identity.apple.com/pushcert/, является не только сертификатом, но и plist (XML) с цепочкой сертификатов. Пример Java-приложения доступен (http://www.softhinker.com/in-the-news/iosmdmvendorcsrsigning), который вы должны использовать для справки.

+0

Да ive сформировал XML-файл plist. с клиентом csr, цепочкой сертификатов и подписью. точно так же, как и ссылка u:/ – michelle

+0

у вас Base64 закодирован XML? – Abstractec

+0

да. это база 64. – michelle

Смежные вопросы