私は 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 以外の言語でコードを自由に投稿してください。それでも役立つ場合があります。