HSM: Intracción con HSM usando la aplicación JAVA

El servidor HSM y la configuración del cliente se han realizado a mi lado, y mi pregunta es Cómo comunicarse con el servidor HSM sin un cliente HSM para acceder al almacén de claves Luna a través de la aplicación Java. ¿Tiene alguna alternativa comunicarse con el servidor HSM sin cliente?

Respuesta 1

Puede usar safenet SDK para desarrollar sus funciones de cifrado que pueden interactuar con HSM desde Java. Por ejemplo: Gemalto HSM proporciona JSP y JCProv API como parte del SDK para desarrolladores de Java.

Respuesta: 2

Necesita un cliente Luna para que una aplicación se conecte con el HSM para procesar operaciones de cifrado. El cliente Luna contiene las bibliotecas necesarias para que un cliente se comunique con el HSM.

Respuesta: 3

El siguiente código muestra cómo preparar y enviar un comando a safenet HSM.

public static final String send(String command) {
    try (Socket socket = new Socket(HSMIP, HSMPORT);
            InputStream in = socket.getInputStream();
            OutputStream os = socket.getOutputStream()) {
        byte[] commandbytes = DatatypeConverter.parseHexBinary(command);
        byte[] request = new byte[6 + commandbytes.length];
        request[0] = 0x01;  //constant as per setting during installation
        request[1] = 0x01;  //constant as per setting during installation
        request[2] = 0x00;  //constant as per setting during installation
        request[3] = 0x00;  //constant as per setting during installation
        request[4] = (byte) (commandbytes.length / 256);  //length of command
        request[5] = (byte) (commandbytes.length % 256);  //length of command
        System.arraycopy(commandbytes, 0, request, 6, commandbytes.length);
        //logger.info("request : " + DatatypeConverter.printHexBinary(request));
        os.write(request);
        os.flush();
        byte[] header = new byte[6];
        in.read(header);
        logger.info("header : " + DatatypeConverter.printHexBinary(header));
        int len = (header[4] & 0xFF) * 256 + (header[5] & 0xFF);  //length of response
        logger.info("len : " + len);
        byte[] response = new byte[len];
        in.read(response);
        logger.info("response : " + DatatypeConverter.printHexBinary(response));
        return DatatypeConverter.printHexBinary(response);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}
Respuesta: 4

¡Necesito obtener el contenido completo de una URL sin usar el juego! 1 biblioteca WS debido a un problema de SSL con esa biblioteca y el sitio que necesito eliminar. ¿Algunas ideas?

Tengo 2 vistas con la misma animación, durante esta animación estas vistas deberían cambiar sus órdenes Z, por ejemplo, la vista A está sobre la vista B durante la animación. Cambio este orden, obtengo ...

Tengo un proyecto Java alojado en un GitHub. Y quiero permitir ver la página HTML JavaDoc para este alojamiento. Para este propósito creo la rama gh-pahes. Cómo puedo mover / confirmar JavaDoc fácilmente (que se creó en ...

Tengo un JSON en la cola: {"usuario": 'Alex', "veces": 34}. Quiero de estos datos enviar una solicitud de jabón al servidor WSDL: mi ruta: <ruta> <from uri = "rabbitmq: //10.0.62.201/exchange1? ...