當我嘗試上傳證書到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 Provisioning門戶,並下載證書生成一個。
然後我導出生成的CSR I的私鑰並將其導出爲.pfx文件。 這是我使用的文件。
這是正確的方法嗎?
yes ive生成plist XML。與客戶的CSR,證書鏈和簽名。就像你引用的那個:/ – michelle
你有Base64編碼的XML嗎? – Abstractec
是的。它是基數64. – michelle