2012-06-20 3 views
1

저는 Apple MDM 서버에서 작업하고 있습니다. 실제로는 잘 작동합니다. 나는 클라이언트가 인증서에 대해 불평하게 만드는 서명 문제가 있으므로 다른 사람들이 구성 프로파일에 서명하는 방법에 관심이 있습니다.Apple MDM 프로파일에 서명하기

나는 자바를 사용하지만, 자바에서 코드를 구현하는 방법에 대한 특별한 질문이 아니기 때문에 어떤 종류의 도움도 환영한다.하지만 구성 프로파일에 올바르게 서명하는 방법에 대한 자세한 내용은 도움이된다.

이것은 현재 우리가 그것을 할 방법은 다음과 같습니다

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

사람이 볼 수 있는가이다 그것을하는이 방법에 대한 문제, 또는 당신은 그것을 다르게 작동시키고 있습니까?

자바가 아닌 다른 언어로 코드를 게시하십시오. 여전히 도움이 될 수 있습니다.

답변

0

이 문제를 해결하기 위해 두 가지 일을했습니다. 먼저 인증서를 x509 v3으로 변경했습니다. 이는 v1입니다. 그런 다음 KeyUsage 및 BasicConstraints를 추가하여 iOS가이를 신뢰할 수 있음으로 받아들입니다. 두 번째는 인증서 자체를 CertStore로 추가하는 것입니다. 이 두 단계는 인증서를 iPhone Configuration Utility에서 사용하는 인증서와 비슷하게 만듭니다.

관련 문제