JarSigner
JarSigner (JAR 파일 서명 유틸리티)
JAR 파일에 서명하기 위한 불변(immutable) 유틸리티 클래스입니다. Builder 패턴으로 파라미터를 설정한 뒤 서명을 수행합니다.
본문
JarSigner는 JAR 파일에 디지털 서명을 하는 데 사용되는 final 클래스입니다. 호출자는 JarSigner.Builder 객체를 만들고 (선택적으로) 일부 파라미터를 설정한 뒤 build()를 호출해 JarSigner 객체를 얻습니다. 이 객체로 JAR 파일에 서명합니다.
별도로 명시하지 않으면 JarSigner나 JarSigner.Builder의 메서드를 null 인자로 호출하면 NullPointerException이 발생합니다.
사용 예는 다음과 같습니다. JarSigner signer = new JarSigner.Builder(key, certPath).digestAlgorithm("SHA-256").signatureAlgorithm("SHA256withRSA").build(); 그 다음 try (ZipFile in = new ZipFile(inputFile); FileOutputStream out = new FileOutputStream(outputFile)) { signer.sign(in, out); }처럼 서명을 실행합니다.
Builder로 다이제스트 알고리즘, 서명 알고리즘, 서명 타임스탬프 등 다양한 옵션을 설정할 수 있어 배포용 JAR 무결성과 출처 검증에 사용됩니다.