Problema

O provedor PKCS#11 da Sun não é compatível com a plataforma Windows de 64 bits. Como resultado, a funcionalidade do HSM não é suportada para o LiveCycle ES executado no Windows 64 bits usando o Sun JDK.

Solução

Para proporcionar a funcionalidade do HSM para o LiveCycle ES em execução no Windows 64 bits, crie um componente SPI de assinatura que consiga acessar uma credencial do HSM. Esse componente cria um serviço do LiveCycle ES que implementa o modelo da SPI de assinatura. O serviço de assinatura delega a assinatura ao componente da SPI que, por sua vez, delega a chamada a um serviço da Web seguro do HSM.  

Para permitir que o LiveCycle ES que executa a plataforma Windows de 64 bits assine ou certifique um documento PDF usando uma credencial do HSM, execute as seguintes etapas:

  1. Instale e implante o LiveCycle ES na plataforma Windows de 64 bits.
  2. Implante o serviço de SPI do HSM, adobe-remoteHSMSPI-dsc.jar. Esse arquivo jar está disponível na pasta [RaizdeInstalaçãodoLiveCycle]\LiveCycle_ES_SDK\misc\Signatures. 
  3. Crie uma pasta (por exemplo, RemoteHSMWebservice) no mesmo computador ou em um computador diferente (um computador com Windows de 32 bits).
  4. Copie os seguintes jars para a pasta RemoteHSMWebservice: bcmail-jdk15-135.jar, bcprov-jdk15-135.jar, jsafeFIPS.jar e RemoteHSMWS.jar.
  5. Crie um certificado SSL e um keystore Java em RemoteHSMWebservice. Ative a comunicação entre o LiveCycle ES e RemoteHSMwebservice usando HTTPS para proteger o valor do PIN do HSM.
  6. Defina JAVA_HOME para fazer referência ao Sun JDK 1.6 de 32 bits.
  7. Execute RemoteHSMWS.jar como um aplicativo autônomo usando o seguinte comando:

    java -jar RemoteHSMWS.jar -b https://<nome do computador que executa o HSM

    webservice>:<port>/hsmws -k <caminho para o keystore java> -p <senha do keystore> -n 10

  8. Instale o cliente do HSM no computador que executa o serviço Web remoto do HSM.
  9. Execute o serviço de assinatura usando o código a seguir para assinar ou certificar um documento:

    HashMap prop = new HashMap();

    prop.put("hsmAlias", alias do perfil do HSM na Truststore do LiveCycle ES);

    prop.put("hsmWSEndPt", local WSDL fornecido acima, isto é https://<machinename>:<port>/hsmws?wsdl);

    Cert cert = insira o certificado fornecido no perfil do HSM

    Credential spiCred =Credential.getInstance(cert.getEncoded(),"RemoteHSMSPIService");

    spiCred. setSPIProperties(prop);





Informações adicionais

Para saber mais sobre como assinar um documento usando um componente da SPI, consulte a seção "Teste do manipulador de assinatura" em Programação com o LiveCycle ES.

 

Esta obra está licenciada sob uma licença não adaptada da Creative Commons Attribution-Noncommercial-Share Alike 3.0  As publicações do Twitter™ e do Facebook não são cobertas pelos termos do Creative Commons.

Avisos legais   |   Política de privacidade online