我正在使用 Apple MDM 服务器,实际上它运行良好。我有一个签名问题,这让客户抱怨证书,所以现在我对其他人如何签署他们的配置文件感兴趣。
我使用 java,但欢迎任何形式的帮助,因为这不是关于如何在 java 中实现代码的特定问题,而是更多关于如何正确签署配置文件的问题。
这就是我们目前的做法:
byte[] data = ...
X509Certificate cert = ...
KeyPair keyPair = ...
CMSSignedDataGenerator gen = new CMSSignedDataGenerator();
gen.addSigner(keyPair.getPrivate(), cert, CMSSignedGenerator.DIGEST_SHA1, new AttributeTable(new Hashtable<DERObjectIdentifier, Attribute>()), null);
CMSSignedData signedData = gen.generate(new CMSProcessableByteArray(data), true, "BC");
response.setContentType("application/x-apple-aspen-config");
response.getOutputStream().write(signedData.getEncoded());
我们正在使用使用算法 SHA1withRSA 创建的自签名证书,密钥使用 RSA,大小为 2048。
有没有人看到这种方式有问题,或者你只是用不同的方式来做这件事?
并且请随时以 Java 以外的其他语言发布代码 - 它可能仍然有帮助。