oracle 및 velocity review과 같은 많은 링크가 검색되었지만 stackoverlow도 검색되었지만 여전히 성공하지 못했습니다.자체 서명 된 애플릿이 전체 권한을 얻지 못했습니다.
요점은 간단합니다. Jar는 다음을 사용하여 서명됩니다.
keytool -genkey -alias signFiles -keystore compstore -keypass bca321 -dname "cn=test" -storepass abc123
jarsigner -keystore compstore -storepass abc123 -keypass bca321 -signedjar SignedJar.jar UnsignedJar.jar signFiles
그리고 로컬 시스템에서 완벽하게 실행됩니다.
java.security.AccessControlException: access denied (javax.smartcardio.CardPermission Broadcom Corp Contacted SmartCard 0 connect)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at sun.security.smartcardio.TerminalImpl.connect(Unknown Source)
예, 그것은 읽기를 시도 : - SignedJar.jar가 HTTP (S)를 통해 애플릿처럼 사용할 때, 사용자가 인증서 (IE 또는 FF 또는 크롬 차이가 없음) 받아 들인다하더라도, 그것은 작업 중지 터미널에 삽입 된 스마트 카드에서 가져오고 connect 호출시 예외를 가져옵니다.
예,이 방법도 시도했다 :
AccessController.doPrivileged(new PrivilegedAction() {
...
하지만 행운과
. 그렇다면 잡는 곳은 어디입니까? 사전에감사합니다, 키릴 오늘이 문제에 실행
참조 : 여기
명령 줄입니다 CardPermission에 대한 권한 부여 방법에 대한 자세한 내용은 다음을 참조하십시오.) {grant javax.smartcardio.CardPermission Broadcom Corp SmartCard에 문의했습니다. 0 ","connect "; }; '[link] (http://java.sun.com/developer/onlineTraining/Programming/JDCBook/appA.html#know) –도서관을 포함하여 모든 코드에 서명 했습니까? (동일한 서명을 사용하고 매니페스트에 '신뢰할 수있는 전용 : true'를 추가합니다.) –