2014-01-11 1 views
2

codesign을 사용하여 OSX에서 Java 응용 프로그램에 서명하려고합니다. 나는 100 달러의 몸값을 애플에 지불하고 코드 서명 인증서를 받았다. 이것은 내가 수행하여 서명을 확인하려고 할 때와 같은 작업을 수행 할 것으로 보인다코드화 된 응용 프로그램이 여전히 신뢰되지 않습니다.

codesign -f -s "Peter Brewer" FHAES.app 

: 그때 내 응용 프로그램이 이전에 osxappbundle Maven 플러그인을 사용하여 만든 서명을 강제로이 같은 codesign을 사용

codesign --display --verbose=4 FHAES.app 

... 나는 다음과 같은 응답을 얻을 :

Executable=/Applications/FHAES.app/Contents/MacOS/JavaApplicationStub 
Identifier=FHAES 
Format=bundle with Mach-O universal (i386 x86_64) 
CodeDirectory v=20100 size=174 flags=0x0(none) hashes=3+3 location=embedded 
Hash type=sha1 size=20 
CDHash=de2cd9909fcc4bfab1f690c518a6c6c3b3097372 
Signature size=4311 
Authority=Mac Developer: Peter Brewer (N35745G8TD) 
Authority=Apple Worldwide Developer Relations Certification Authority 
Authority=Apple Root CA 
Signed Time=Jan 10, 2014, 4:46:57 PM 
Info.plist entries=10 
Sealed Resources version=2 rules=12 files=2 
Internal requirements count=1 size=164 

내가 오해하지 않는 한,이 참조 ms를 입력하여 Apple에서 승인 한 인증서로 성공적으로 서명했음을 나타냅니다. 그러나 그때 내가 응용 프로그램을 시작하려고하면 "알 수없는 개발자가 있기 때문에 열 수 없습니다"오류가 발생합니다.

누구든지 내가 뭘 잘못하고 있다고 말할 수 있습니까?

누구든지 codesign을 구현하십시오. 영원히 고맙게 생각합니다. 나는 자신의 인증서를 지불하는 것을 협박하는 것보다 더 많은 것을 한 번의 클릭으로 크로스 플랫폼 구축 시스템을 깨뜨린 것에 대해 Apple을 경멸합니다!

답변

5

내 안구를 때려 눕힌 후 developer.apple.com에 마침내 내가 필요한 정보를 찾았습니다. 전체 Apple 생태계는 개발자가 Xcode와 '일하는 방식'을 사용하도록 유도하고 Apple 하드웨어 및 소프트웨어에 대한 지속적인 투자가 필요합니다. 예를 들어, 자습서 비디오는 최근 Mac에서만 볼 수 있습니다 (즉, 내가 액세스 할 수있는 2.5 년 된 시스템보다 최신 버전). 그러나 어쨌든 - 나는 나의 좌절을 메우기 위해 SO를 사용하지 않을 것입니다.

내가 이전에 시도하지 못한 이유는 잘못된 종류의 Apple 인증서를 사용했기 때문입니다. 위에서 설명한 인증서는 앱 서명에 사용되는 앱으로, 앱 스토어를 통해 앱을 출시 할 준비가되면 퇴사 한 앱입니다. Apple을 통해 오픈 소스 응용 프로그램을 '판매'하지 않으려면 내 웹 사이트에서 응용 프로그램을 배포 할 수 있도록 개발자 ID 인증서라는 다른 유형의 인증서가 필요합니다.

개발자 ID 인증서를 얻으려면 프로비저닝 프로파일을 설정하고, 개발 컴퓨터를 등록하고, Apple 개발자 웹 사이트에서 다양한 다른 기능을 수행해야합니다. 컴퓨터에이 인증서가 설치되면 다음을 수행하여 명령 줄에 서명 할 수 있습니다. codesign -f -s "Developer ID" myapp.app

codesign --display --verbose=4 myapp.app을 실행하면 권한 값이 'Mac 개발자'가 아닌 '개발자 ID ...'로 시작한다고보고합니다. . ' GateKeeper가 사용자 관상 동맥을 제공하지 않기 위해 필요한 것입니다.

+0

이 글을 읽을 때까지 App Store 외부에서 배포 할 때와 App Store에서 배포 할 때 다른 인증서를 사용해야한다는 것을 알지 못했습니다. 감사. 관심있는 분들을 위해 OS X에서 배포 할 수 있도록 Qt 응용 프로그램을 준비하는 일련의 단계를 편집하는 데 도움이되었습니다. http://stackoverflow.com/q/20909341/368896 –

관련 문제