2013-08-30 2 views
6

하나의 애플릿을 개발했으며 이상한 동작을 발견했습니다.인증서로드 문제

GWT, Hibernate 및 Spring을 기반으로 구현 된 보안 기반 응용 프로그램 용입니다.

애플릿은 주로 브라우저 인증서에 액세스하여 데이터의 암호화 및 암호 해독에 사용합니다.

모든 시스템에서 정상적으로 작동하지만 하나의 클라이언트 컴퓨터를 모르는 상태에서 이상한 동작을 발견했습니다.

Internet Explorer에 로그인 할 때. 애플릿로드는 다음 지점에서 중지 된 다음 자동으로 종료됩니다. 말 애플릿 콘솔에서

오류 :

기본 : 추가 진행 청취자 : [email protected]

기본 : Plugin2ClassLoader.addURL 부모가 http://phil.etenders.in/securityApplet.jar 보안 요구 : 블랙리스트 폐기 확인이 활성화되었습니다. 보안 : 신뢰할 수있는 라이브러리 목록 검사가 활성화되었습니다. 네트워크 : 캐시 항목이 발견되었습니다. [url : http://phil.etenders.in/securityApplet.jar, 버전 : null] prevalidated = false/0

제거 된 블랙리스트 해지 확인 및 신뢰할 수있는 라이브러리 확인이 적용되지만 영향은 없습니다. 내가 라인을 세 가지 브라우저에서

basic: Plugin2ClassLoader.isTrustedByPolicy called 
    basic: Plugin2ClassLoader.isTrustedByPolicy returns false 

동작 다음에 멈출 http://csis.pace.edu/~bergin/Java/applets.htm 에서 어떤 샘플 애플릿을 열면,

을 (그들은 잘 통과된다).

  1. 파이어 폭스와 크롬 : 전혀로드하지 않습니다.
  2. IE : 새로 고침 새로 고침이로드 될 때 처음으로로드되지 않습니다.

더 자세한 정보가 필요하면 알려주십시오. 소스 코드here에서 참조하십시오.

+0

왜? 왜 SSL을 사용하지 않습니까? – EJP

+0

@EJP 우리의 고객 요구 사항에 따라 데이터 암호화/암호 해독을 위해 별도의 인증서가 필요합니다. 'SSL'은 데이터 보안이 필요한 n/w 보안만을 제공합니다. – iMBMT

+0

디버깅을 완전히 도울 수는 없지만 클래스에 넣을 수있는 여러 가지 메소드를 별도로 분리하여 실행하면 어떤 특정 포인트가 작동하지 않는지 확인할 수 있습니다. 다른 클래스에서 모든 클래스를 함께 사용하면 프로그램의 런타임을 향상시킬 수 있습니다. – fftk4323

답변

1

나는, 그것을 잘 작동하고 클라이언트 시스템에서 자바 버전의 최신 버전을 업그레이드했습니다.

0

네트워크 혼잡과 관련됩니다. 때때로 애플릿이 매우 느리게 응답하므로 시스템에 환경 변수를 JPI_PLUGIN2_NO_HEARTBEAT = 1으로 설정해야합니다.

설명 :이 기능은 브라우저 측 VM과 클라이언트 JVM 인스턴스간에 하트 비트 메시지 전송을 비활성화합니다. 이를 통해 클라이언트 JVM은 브라우저 측 VM과 독립적으로 유지할 수 있습니다.근본 원인 솔루션의

참조 (들) : https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Tivoli+Network+Manager/page/Browser+JRE

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6953754


이 업데이트 :

문제 - 애플릿의 브라우저 요청은, 그것은과 통신을 만들 때 시스템의 JVM. 기본적으로이 통신의 유효 기간은 10 초입니다. 주어진 시간 범위 내에서 통신 할 수 없으면 JVM은 해당 스레드를 종료합니다. 그 결과 애플릿의 비정상적인 동작이 발생합니다.

솔루션 - 애플릿이 제대로로드되지 않는 시스템 ("한 번 설치")에서 "환경 변수"를 설정해야합니다. 시스템의 JVM과 브라우저의 VM 사이의 다른 단어 "Hearbeat time"설정에서 10 초의 응답 시간을 제거합니다. 실행 파일을 생성하여 해당 시스템 환경 변수를 작성할 수 있습니다. JVM이이 변수를 사용하게하려면 시스템을 다시 시작해야합니다.

시스템 환경 변수는 어떻게 설정합니까?

1 단계 :

시스템 환경 변수가 다음 단계를 수행 설정하려면 내 컴퓨터의 속성

2 단계 열고 : 당신은 열려있는 왼쪽 패널에서 고급 시스템 설정을 찾을 수 있습니다 윈도우 7에서 클릭 한 번으로.

단계 3 : 고급 탭이 아닌 경우 고급 탭으로 이동하십시오.

스텝 4 : 하단의 "환경 변수 ..."버튼을 클릭하면 대화 상자가 열립니다.

단계 5 : "시스템 변수"프레임을 찾아 새 항목을 만듭니다.

STEP6 (견적)없이 "JPI_PLUGIN2_NO_HEARTBEAT"및 (견적)없이 "1"[한 바와 같이 변수 값으로 변수 이름을 제공한다.

7 단계 : 좋아

Step8을 클릭하고 확인을 클릭 한

Step9 :

Step10 확인

를 클릭 이제 시스템이 재부을 다시 부팅합니다.

또한 자바 버그 솔루션에 대한 대답에서 제공하는 링크를 ... 사용할 수 있습니다 ..

+0

정교하게 주시겠습니까? 나는 그것을 이해하지 못한다. 실제로 자바 버전 플러그인 문제가 있다고 생각합니다. – iMBMT

+0

나는 나의 대답을 .. 적절한 설명으로 업데이트했다. –

+0

고마워,이 해결책은 또한 클라이언트 n/w의 다른 문제를 해결하기 위해 가득 찬 도움이된다. 그것을 공유해 주셔서 감사합니다. 현상금을 수여했다 !! – iMBMT