我有一个硬件,它实现了一些加密功能,如随机数生成(例如智能卡)。我想在我的 TLS hadshake 期间使用这个硬件。是否可以做到这一点,而无需我自己实施 TLS 握手?
我试图扩展类“SecureRandom”,但“下一个”方法是最终的,所以我不能覆盖它,以便它返回“我的”生成的数字。
所以基本上我想“外包”所有加密功能而不在 JAVA 中实现 TLS 握手。
谢谢
SecureRandomSpi
改为扩展。然后要么实现 aProvider
要么做一个便宜SecureRandom
的 as
public MySecureRandom()
throws NoSuchAlgorithmException, NoSuchProviderException {
super(new MySecureRandom(),null);
}
(的实现next
依赖于给定的 SPI)
然后将你的SecureRandom
作为参数传递给SSLContext.init
.