証明書をhttps://identity.apple.com/pushcert/にアップロードしようとすると、署名が無効であると表示されます。
Mobile Device Manager のドキュメントと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 に何を配置すればよいかわかりません。私がしたことは、企業の iOS プロビジョニング ポータルにアップロードする cst を生成し、生成された証明書をダウンロードすることでした。
次に、生成した CSR の秘密キーをエクスポートし、.pfx ファイルとしてエクスポートしました。これは私が使用したファイルです。
これは正しい方法でしたか?