第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

HSM:使用 JAVA 應(yīng)用程序使用 HSM 引入

HSM:使用 JAVA 應(yīng)用程序使用 HSM 引入

繁華開滿天機(jī) 2022-06-30 18:23:47
HSM 服務(wù)器和客戶端設(shè)置已在我身邊完成,我的問題是如何在沒有 HSM 客戶端的情況下與 HSM 服務(wù)器進(jìn)行通信以通過 java 應(yīng)用程序訪問 Luna 密鑰庫,是否有任何替代方法可以在沒有客戶端的情況下與 HSM 服務(wù)器進(jìn)行通信。
查看完整描述

4 回答

?
慕容3067478

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個贊

您需要 Luna 客戶端到應(yīng)用程序以連接 HSM 以處理加密操作。Luna 客戶端包含客戶端與 HSM 通信所需的庫。



查看完整回答
反對 回復(fù) 2022-06-30
?
呼如林

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個贊

您可以使用 safenet SDK 開發(fā)您的加密功能,這些功能可以與 Java 中的 HSM 進(jìn)行交互。例如:Gemalto HSM 為 Java 開發(fā)人員提供 JSP 和 JCProv API 作為 SDK 的一部分。



查看完整回答
反對 回復(fù) 2022-06-30
?
猛跑小豬

TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個贊

以下命令顯示如何向 Thales HSM 發(fā)送命令。


import java.io.ByteArrayOutputStream;

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.Socket;

import java.net.SocketTimeoutException;

import java.net.UnknownHostException;


public class ThalesHSMConnect2 {


    //@formatter:off

    public static final String send(final String command) throws UnknownHostException, IOException {

        try(final Socket sc = new Socket(host, port);

            final DataInputStream din = new DataInputStream(sc.getInputStream());

            final DataOutputStream dos = new DataOutputStream(sc.getOutputStream())) {

            sc.setSoTimeout(5000);

            dos.writeUTF(command);

            dos.flush();

            final String response = din.readUTF();

            return response;

        }

    }


    public static final byte[] send(final byte[] command) throws Exception {

        try(Socket sc = new Socket(host, port);

            InputStream in = sc.getInputStream();

            OutputStream os = sc.getOutputStream()) {

            sc.setSoTimeout(5000);

            command[0] = (byte) ((command.length-2)/256); //two byte command length

            command[1] = (byte) ((command.length-2)%256); //two byte command length

            os.write(command); 

            os.flush();

            final byte b1 = (byte) in.read();

            final byte b2 = (byte) in.read();

            if(b1 < 0 || b2 < 0) throw new SocketTimeoutException("no response from hsm.");

            final byte[] response = new byte[b1*256+b2];

            in.read(response);

            return response;

        }

    }


    public static void main(String[] args) throws IOException {

        final String cvvGenerationResponse = send("0000CWAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBB4484070020000310;2105000");

    }

}


查看完整回答
反對 回復(fù) 2022-06-30
?
喵喔喔

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個贊

以下代碼顯示了如何準(zhǔn)備并向 safenet HSM 發(fā)送命令。


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;

}


查看完整回答
反對 回復(fù) 2022-06-30
  • 4 回答
  • 0 關(guān)注
  • 340 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號