我已经使用 java 尝试了相同的方法,但生成的字节数组不正确:
public void publicKeyConvert{
final String PUBLIC_KEY_STRING="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxl4aRnRMBB9GZk";
try{
System.out.println("Public Key in byte[] :"+ Arrays.toString(Base64.decode(PUBLIC_KEY_STRING, Base64.DEFAULT)));
} catch (Exception ex) {
Log.e("Error converting key", ex.getMessage());
}
而不是像我在示例中尝试的那样转换字符串,我正在寻找一种解决方案,我可以输入公钥文件(.pem 格式)并接收字节数组作为输出,最好使用 OpenSSL。
以下是将
字符串转换为字节数组的方法:
String PUBLIC_KEY_STRING = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxl4aRnRMBB9GZk";
byte[] bytes = DatatypeConverter.parseBase64Binary(PUBLIC_KEY_STRING);
System.out.println(Arrays.toString(bytes));