2012-02-27 1 views
2

Jpedal (LGPL 버전 4.48b55)을 사용하여 시각적 표현이 활성화 된 서명이 포함 된 문서의 페이지를 렌더링하고 있습니다. 그러나 이러한 서명은 물음표와 "서명이 확인되지 않음"이라는 텍스트로 나타납니다.Jpedal을 사용하여 시각적 서명이 포함 된 PDF 문서 렌더링

Adobe Acrobat Reader를 통해 파일을 시각화 한 경우 녹색 눈금과 "서명이 유효합니다"라는 텍스트가 표시됩니다 (목록에 서명의 인증 기관이 포함되어 있기 때문에).

jPedal이 올바른 인증 기관 목록을 사용하여 서명의 유효성을 검사하도록하는 방법이 있습니까? 그렇다면 서명을 유효한 것으로 렌더링합니까?

+0

인증서를 java 키 저장소로 가져 왔습니까? – yms

+0

루트 CA는 시스템 키 저장소에 있습니다 (Windows에서 작업 중이므로 CryptoAPI에 있음). jPedal에 대해 특정 Java에 포함시켜야합니까? – Sirs

+2

파일을 열 때 key/cert를 전달해야합니다. public void openPdfFile (String filename, Certificate certificate, PrivateKey key) –

답변

2

Java에서 인증서를 사용하려면 먼저 Java Keystore에 인증서를 설치해야합니다. 이 작업을 수행하려면 Java 런타임과 함께 제공되는 keytool 도구를 사용하십시오. 페이지 "The Most Common Java Keytool Keystore Commands"에서

:

# Import New CA into Trusted Certs 
keytool -import -trustcacerts -file /path/to/ca/ca.pem -alias CA_ALIAS -keystore $JAVA_HOME/jre/lib/security/cacerts 

당신이 당신의 응용 프로그램이 직접 OS에서 키 스토어를 사용하려면 기본값과 다른이의 특정 공급자를 지정해야합니다.

From the documentation :

키스트 구현 공급자 기반이다. 보다 구체적으로, KeyStore가 제공하는 애플리케이션 인터페이스는 "Service Provider Interface"(SPI)의 이라는 용어로 구현됩니다. 즉 에 해당하는 KeystoreSpi 클래스가 있으며 java.security 패키지에도 있습니다.이 패키지는 "제공자"가 을 구현해야하는 SPI 메소드를 정의합니다.

또한 :

일 가 제공하는 편입의 디폴트의 구현이 있습니다. 이 클래스는 키스트 아를 파일로서 구현해, 독자적인 키스트 아 타이프 (형식)의 "JKS"를 사용합니다.

+0

팁 주셔서 감사. 나는 그것을 성공적으로 가져 왔지만, 불행히도 여전히 "Signature Not Verified"메시지와 물음표를 얻습니다. – Sirs

+0

LGPL 프로젝트이므로, 코드로 들어가는 것이 좋습니다. 뭐가 잘못 됐어. – yms