2009-11-09 4 views
2

Amazon S3 및 Amazon Cloudfront CDN을 사용하여 애플릿 응용 프로그램의 jar 파일을 전달하려고합니다.java 플러그인 캐시 및 동적 IP 호스트

자바 플러그인으로 내 항아리에 대한 몇 가지 캐시 오류가 발생합니다. 내 응용 프로그램의 크기가 약 3Mb이므로 매번 고객이 응용 프로그램을 다시 다운로드 할 수 없기 때문에 이것은 저를위한 쇼 스토퍼입니다.

"security vulnerability issue"으로 인해 Java 플러그인 캐시가 jar 원격 호스트의 IP 주소를 확인하지만 Amazon S3는 동적 IP를 사용합니다. 나는 Akamai 또는 다른 괜찮은 CDN 서비스에서도 같은 문제가 발생할 것이라고 생각합니다.

내가 할 수 있는게 있습니까?

답변

0

주소는 어느 시점에서 해결되어야합니다. 정확히 문제는 아닙니다.

문제는 애플릿이 .jars가 애플릿이있는 페이지와 동일한 소스에서 왔는지 확인하여 아무도 원본 대신 악성 항아리를 반환하지 않도록하려는 것입니다. 그러나 URL을 사용하여 소켓을 열면 다른 주소로 확인됩니다. 예를 들어, 단일 서버가 아닌 클라우드를 사용하고 있기 때문입니다.

.jars에 서명하여 해결할 수 있는지 확인하십시오. 그런 식으로 애플릿은 원본과 상관없이 원본임을 압니다.

내가하는 일은 수동으로 인증서를 만드는 것입니다. thie처럼 :

keytool -genkey -keyalg rsa -keysize 1024 -alias {put a name for the cert here} -validity 3650 -keystore {.. and a file name here.} 

참고 인증서의 사용자와 암호를 설정하라는 메시지가 표시됩니다.

는이 같은 모든 당신의 항아리에 서명 ->

$1/jarsigner -keystore { the above file name} -storepass password -keypass password  whatEver.jar   {cert name, from above.} 

나는이 방법으로 본 유일한 문제는 인증서는 브라우저에서 인정 기관에서 서명되지 않기 때문에, 그것은 첫 번째 promopt 것입니다 신뢰할 수있는 인증서에 추가 할 시간입니다. 일반적으로 문제는 아닙니다.

다른 현명 할 수 있습니다 :

1) 브라우저 (Thwate와, 베리사인)에서 인정 기관에서 인증서를 가져옵니다 (있습니다) 무료

이 그것을 할 것 일부)를 세트 사용자에게 브라우저의 승인 된 권한에 추가하도록 요청하십시오.

희망이 도움이됩니다.

- 알렉스

+0

서명 할 필요가 없습니다. 내 항아리에 서명했습니다. 그것은 플러그인 캐시가 작동하는 방식입니다. – tuler