【发布时间】:2017-04-16 03:51:55
【问题描述】:
我们正在尝试创建一个应该是八位字节字符串的 RSA 公钥,然后我们需要对其进行 DER 编码。
我们正在尝试使用以下代码创建密钥对:
public static KeyPair getRSAKeyPair() throws InvalidAlgorithmParameterException, NoSuchAlgorithmException, NoSuchProviderException {
KeyPairGenerator g = KeyPairGenerator.getInstance("RSA", "SC");
g.initialize(2048);
return g.generateKeyPair();
}
然后使用下面的代码从中获取公钥
PublicKey publicKey1 = keyPair.getPublic();
byte[] pubkey = publicKey1.getEncoded();
上面代码中获取的公钥似乎是 DER 编码的二进制字符串。
查询:
- 如何更改上述代码以创建八位字节字符串。
- 如何使其进行 DER 编码。
【问题讨论】:
-
除非您有充分的理由,否则不要指定提供者。它可能只会使您的代码不可移植。