1

我有一个硬件,它实现了一些加密功能,如随机数生成(例如智能卡)。我想在我的 TLS hadshake 期间使用这个硬件。是否可以做到这一点,而无需我自己实施 TLS 握手?

我试图扩展类“SecureRandom”,但“下一个”方法是最终的,所以我不能覆盖它,以便它返回“我的”生成的数字。

所以基本上我想“外包”所有加密功能而不在 JAVA 中实现 TLS 握手。

谢谢

4

1 回答 1

1

SecureRandomSpi改为扩展。然后要么实现 aProvider要么做一个便宜SecureRandom的 as

  public MySecureRandom() 
    throws NoSuchAlgorithmException, NoSuchProviderException {
      super(new MySecureRandom(),null);
  }

(的实现next依赖于给定的 SPI)

然后将你的SecureRandom作为参数传递给SSLContext.init.

于 2013-03-19T14:48:26.443 回答