2011-03-21 2 views
0

자바 스크립트를 통해 aspx에서 호출되는 서명 된 자바 애플릿이 있습니다 (Java 개발 상점이 아니며 주로 C# 개발자였습니다).애플릿 디버깅 문제 - 인증서를 제거 할 때 애플릿 보안 경고가 표시되지 않습니다.

이 애플릿을 통해 디버깅 할 필요가 있지만 내 동료 컴퓨터에서 보이지 않는 것이 있습니다.

Netbeans 디버거를 애플릿에 연결하기 위해 우리는 전통적으로 Java Control 패널을 통해 '신뢰할 수있는 인증서'저장소에서 모든 인증서를 제거하고 (Java 제어판을 통해) 캐시 된 애플릿을 삭제 한 다음 애플릿을 다운로드 할 때 실행하면 보안 경고가 표시됩니다. 이 시점에서 netbeans 디버거를 첨부 할 수 있습니다. 보안 경고 (이 아니라은 '항상 신뢰'확인란을 선택)를 누른 다음 애플릿 코드 내의 중단 점에 충돌했습니다. 거기에서 디버그 할 수 있습니다.

그러나 무엇이든지간에 보안 경고가 표시되지 않으므로 애플릿에 첨부하기가 다소 어려워집니다. 나는 인증서를 삭제하고, 캐시 된 애플릿을 압축하고, 심지어는 짚으로 묶여서 JDK를 제거하고 다시 설치했습니다 (우리는 1.6 업데이트 7, 업데이트 10 및 업데이트 20을 사용하고 있으며, 우리의 구현과 함께 작동하는 모든 업데이트). 보안 경고가 나타나지 않습니다.

마치 '항상 신뢰하는'플래그가 영구적으로 켜져있는 것과 같습니다.

감사의 마음으로받은 아이디어.

답변

0

보안 경고는 애플릿이 서명 된 경우에만 발생합니다. 그렇지 않으면 애플릿에 권한이 없으므로 경고를 표시 할 필요가없는 것으로 간주됩니다.

새로운 (신뢰할 수없는 자체 서명 된) 키로 애플릿을 서명하기 만하면됩니다.

+0

우리가 발행 한 인증서로 애플리케이션에 서명하고 있습니다. (우리 사용자는 을 신뢰해야합니다.)하지만 새 인증서를 생성하고 애플릿에 서명하면 경고 메시지가 나타납니다. 고마워, 나는 다른 옵션에서 menpending하는 옵션을 사용하면 냄새가 나지 않는다. – Weevie

+0

결국 보안 경고를 받기 위해 애플릿에 자체 서명했다. 그 덕분에 당신의 도움에 감사했습니다! 이제 디버거를 연결할 수 없지만 그것은 또 다른 질문입니다. (그리고 그것은 : [link] (http://stackoverflow.com/questions/5380118/getting-shmembase-attach-failed-the-system-cannot-find -the-file-specified-when)) – Weevie

0

(포함되지 않은) Java Web Start을 사용하여 애플릿을 시작해보십시오. JWS로 시작하면 JS 기능을 잃게되지만 권한을 쉽게 제어 할 수 있어야합니다.

+0

감사합니다. 자바 생태계에 약간의 unfamilliar입니다. JWS를 사용하여 애플릿을 통해 디버깅하는 최선의 방법을 설명하는 좋은 자습서를 알고 있다고 가정 해보십시오. – Weevie

0
질문에

죄송합니다, 아니 직접적인 대답하지만, 당신이 원하는 것은 디버깅 시작시 JVM을 일시 중지하는 경우, 당신은 같은 것을 같이 일시 중지 = N 옵션의 JVM 옵션을 사용할 수 있습니다

-Djava.compiler=NONE -Xnoagent -Xdebug -Xrunjdwp:transport=dt_socket,address=2502,server=y,suspend=n 

그런 식으로 JVM이 자동으로 일시 중단되고 디버거와의 연결을 대기합니다.

+0

JRE의 런타임 매개 변수 '** - agentlib : jdwp = transport = dt_shmem, address = jdbconn, server = y, suspend = n **'에서 다음을 얻었습니다. 일시 중지 된 것처럼 보이지 않습니다. – Weevie

+0

방금 ​​정지 = y로 거기서 행운을 시험해 보았습니다. 나는 런타임 매개 변수로 내 깊이에서 조금 벗어났다. 그래서 Ny 추가 도움을 주시면 감사하겠습니다. – Weevie