DER编码的RSA公钥(Octet String)



我们正在尝试创建一个RSA公共密钥,该键应该是八位字字符串,然后我们需要对其进行编码。

我们正在尝试使用以下代码创建一个密钥对:

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();

似乎在上述代码中获取公共密钥是编码的二进制字符串。

查询:

  1. 如何更改上述代码,以创建一个八位字字符串。
  2. 如何使其编码。

it ocket字符串;"八位字字符串"是"字节数组"的另一个术语。

并且它已经被编码了,因为getEncoded通常返回DER编码的SubjectPublicKeyInfo。在上面尝试openssl asn1parse -inform DER -in <file>

最新更新