DER编码的RSA公钥(OCTET STRING)

时间:2016-12-01 13:24:19

标签: java android rsa der

我们正在尝试创建一个应该是八位字符串的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编码的二进制字符串。

查询:

  1. 如何更改上面的代码,以便创建一个八位字符串。
  2. 如何进行DER编码。

1 个答案:

答案 0 :(得分:2)

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

它已经是DER编码的,因为getEncoded通常会返回DER编码的SubjectPublicKeyInfo。尝试使用openssl asn1parse -inform DER -in <file>