首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HSM:使用JAVA应用程序引入HSM

HSM:使用JAVA应用程序引入HSM
EN

Stack Overflow用户
提问于 2019-02-22 17:18:08
回答 4查看 1.4K关注 0票数 1

HSM服务器和客户端安装在我身边,我的问题是如何在没有HSM客户端的情况下与HSM服务器通信,通过java应用程序访问露娜密钥库,在没有客户端的情况下与HSM服务器通信有什么替代方案吗?

EN

回答 4

Stack Overflow用户

发布于 2019-04-10 22:06:30

你可以使用safenet SDK来开发你的加密函数,它可以与java中的HSM交互。Gemalto HSM为java开发者提供了JSP和SDK API作为JCProv的一部分。

票数 2
EN

Stack Overflow用户

发布于 2019-04-24 18:27:25

您需要一个应用程序的露娜客户端来连接HSM来处理加密操作。露娜客户端包含客户端与HSM对话所需的库。

票数 2
EN

Stack Overflow用户

发布于 2019-11-07 20:23:33

下面的代码显示了如何准备命令并将命令发送到safenet HSM。

代码语言:javascript
复制
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;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54823729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档