我需要从x509证书PEM字符串中提取公钥的PEM字符串的方法。现在我使用的是实用程序包,它可以从给定的PEM字符串生成x509Certificate对象。此x509Certificate对象具有具有bytes
字段的publicKeyData
字段,该字段将公钥字节表示为字符串。但是,我不能使用这个bytes
来生成有效的公钥字符串。
所以问题是-我如何从证书中提取公钥作为PEM字符串?
谢谢
发布于 2022-01-20 14:38:53
对于RSA公钥:
import 'package:convert/convert.dart';
import 'package:basic_utils/basic_utils.dart';
final bytes = hex.decode(cert.publicKeyData.bytes!);
final key = CryptoUtils.rsaPublicKeyFromDERBytes(Uint8List.fromList(bytes));
final pem = CryptoUtils.encodeRSAPublicKeyToPemPkcs1(key);
编码器的Pkcs1
版本将用BEGIN RSA PUBLIC KEY
对PEM进行括号,而非pkcs1 1版本将使用BEGIN PUBLIC KEY
。
https://stackoverflow.com/questions/70786993
复制相似问题