webapps
디렉토리 에서 여러 war 파일을 배포하는 tomcat 7.x 서블릿 컨테이너가 있습니다. 내 바람둥이에 배포 된 이러한 응용 프로그램이 MD5
알고리즘을 사용하지 않는지 확인하고 싶습니다 . Java에서 다음과 같이 할 수 있습니다.
Provider[] providers = Security.getProviders();
for(Provider p : providers) {
p.remove("MessageDigest.MD5");
}
그러나 이렇게하려면 내 바람둥이에 배포 된 모든 웹 응용 프로그램이 동일한 작업을 수행해야합니다. 어쨌든이 tomcat 인스턴스에 대해 전 세계적으로 한 번만 수행 할 수 있습니까?
한 가지 가능성은 서블릿 init 메소드에 추가하는 것입니다. 글로벌 배치 디스크립터에서 시작할 때로드하도록 서블릿을 구성합니다.
나는 이것을 시도했지만 내 tomcat 인스턴스에서 내가 이것을하는 위치에 관계없이 다음 줄은 예외를 던지지 않습니다.
MessageDigest hash = MessageDigest.getInstance("MD5");
hash.digest("ABCDEFGH".getBytes());
내가 NoSuchAlgorithmException
제거한 이후 로 던질 것으로 예상했다 MessageDigest.MD5
. 이유가 무엇일까요?
Providers
javadoc 에 따르면 :
서비스 유형 공급자는 보안 프레임 워크에서 사용하도록 예약되어 있습니다. 이 유형의 서비스는 응용 프로그램에서 추가, 제거 또는 수정할 수 없습니다.
따라서을 제거 할 수 Provider
있지만 Provider
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다