Problem
Der Sun PKCS#11-Provider wird auf der Windows 64-Bit-Plattform nicht unterstützt. Daher wird die HSM-Funktionalität für LiveCycle ES unter Windows 64 mit dem Sun JDK nicht unterstützt.
Lösung
Um HSM-Funktionen für LiveCycle ES unter Windows 64 bereitzustellen, erstellen Sie eine Signature-SPI-Komponente, die auf ein HSM-Zertifikat zugreifen kann. Diese Komponente erstellt einen LiveCycle ES-Dienst, der das SPI-Modell Signatures implementiert. Der Signaturdienst delegiert die Signatur an die SPI-Komponente, die wiederum den Aufruf an einen sicheren HSM-Webdienst delegiert.
Führen Sie die folgenden Schritte aus, damit LiveCycle ES auf der Windows 64-Bit-Plattform ein PDF-Dokument mit einem HSM-Zertifikat signieren oder zertifizieren kann:
-
Installieren und implementieren Sie LiveCycle ES auf der Windows 64-Bit-Plattform.
-
Stellen Sie den HSM SPI-Dienst adobe-remoteHSMSPI-dsc.jar bereit. Diese jar-Datei ist im Ordner [LiveCycleInstallRoot] „\LiveCycle_ES_SDK\misc\Signatures“ verfügbar.
-
Erstellen Sie einen Ordner (z.B. „RemoteHSMWebservice“) auf demselben oder einem anderen Computer (einem Windows 32-Computer).
-
Kopieren Sie die folgenden Jars in den Ordner RemoteHSMWebservice: bcmail-jdk15-135.jar, bcprov-jdk15-135.jar, jsafeFIPS.jar und RemoteHSMWS.jar.
-
Erstellen Sie ein SSL-Zertifikat und einen Java-Keystore unter RemoteHSMWebservice. Ermöglichen Sie die Kommunikation zwischen LiveCycle ES und dem RemoteHSMwebservice, indem Sie den HSM-PIN-Wert über HTTPS sichern.
-
Stellen Sie JAVA_HOME so ein, dass es auf die 32 -Bit-Version von Sun JDK 1.6 verweist.
-
Starten Sie die RemoteHSMWS.jar als eigenständige Anwendung mit folgendem Befehl:
java -jar RemoteHSMWS.jar -b https://<name des Computers, auf dem HSM läuft
webservice>:<port>/hsmws -k <pfad zu java keystore> -p <keystore passwort> -n 10
-
Installieren Sie den HSM-Client auf dem Computer, auf dem der Remote-HSM-Webdienst ausgeführt wird.
-
Führen Sie den Signaturdienst mit dem folgenden Code aus, um ein Dokument zu signieren oder zu zertifizieren:
HashMap prop = new HashMap();
prop.put("hsmAlias", Alias des HSM-Profils im LiveCycle ES Truststore);
prop.put("hsmWSEndPt", WSDL-Speicherort wie oben angegeben, d.h. https://<maschinenname>:<port>/hsmws?wsdl);
Cert cert = liefert das Zertifikat, das im HSM-Profil bereitgestellt wird
Credential spiCred =Credential.getInstance(cert.getEncoded(), "RemoteHSMSPIService");
spiCred. setSPIProperties(prop);
Weitere Informationen
Informationen zum Signieren eines Dokuments mit einer SPI-Komponente finden Sie im Abschnitt „Testen des Signaturhandlers“ unter Programmierung mit LiveCycle ES.