Apple MFi - Homekit 软件认证

Apple MFi - Homekit Software Authentication

因此,我们尝试设置与 Apple MFi 服务器的通信以进行暂存。

已按照说明许可证服务器应受信任(DigiCert 证书用于相同用途)并且必须向苹果提供客户端证书以建立安全隧道的文档执行步骤。

我们尝试使用的客户端证书(.pem 文件)是几个月前生成的,但仍然有效。 .pem 似乎没有授权机器,而是授权公司帐户,如果我在这里错了,请纠正我。 (所以如果 pem 文件的 csr 不是从被许可方服务器生成的,它应该可以工作吗?)

此外,在尝试创建新证书时出现 MAX_REQUEST 错误。获得有关是否可以有多个证书为帐户的暂存配置文件激活的相互矛盾的信息。

通过 Postman 和 .NET 进行了尝试

var handler = new HttpClientHandler();
handler.ClientCertificateOptions = ClientCertificateOption.Manual;
handler.SslProtocols = SslProtocols.Tls | SslProtocols.Tls11 | SslProtocols.Tls12;
handler.ClientCertificates.Add(new X509Certificate("Certificate.pem"));

var httpClient = new HttpClient(handler)

// Tried with and without the user name
httpClient.DefaultRequestHeaders.TryAddWithoutValidation("User-Agent", 
"Company Name/Client Name/Client Version");

var result = httpClient.GetAsync(StagingURL).Result;

总是从 Apple 服务器收到 401,未经授权的访问错误。想知道可能是什么原因。

提前致谢!

显然,一次只能激活两个临时证书。

至于证书问题,.pem 解析可能是一个问题,但也不适用于 .cer 文件。 .pem 中只有 public 密钥,需要使用 .pem 和用于生成 .csr.

的私钥创建 .p12

如果您在 mac 上,您应该立即获取它,在 Windows 上,我有 .jks 文件并且必须从中创建一个 .key 文件:

keytool -importkeystore -srckeystore mykey.jks -destkeystore keystore.p12 -deststoretype PKCS12
openssl pkcs12 -in keystore.p12 -nocerts -nodes -out mykey.key

然后将两者包在.p12

openssl pkcs12 -export -in mycert.pem -inkey mykey.key -out myp12.p12