gpt4 book ai didi

dart - 在 dart 中解析 X509 证书并提取通用名称

转载 作者:行者123 更新时间:2023-12-03 03:39:58 24 4
gpt4 key购买 nike

嗨,我有一个公钥,就像

-----开始证书-----

xya....

21esafd......

-----结束证书-----

我正在尝试从证书中提取公用名。我可以通过许多 pem 解析器在线完成。有没有办法在 dart 中实现这一点,或者我应该构建 java-native 桥来实现这一点?另请注意,我正在尝试实现一个强制执行区 block 链的流程。

我已经尝试过 PemDecode/Encoder。它所做的只是对证书进​​行 base64 编码。

最佳答案

我有同样的问题,从证书中获取数据。

我将此功能添加到我的 utils 包中。

GitHub : https://github.com/Ephenodrom/Dart-Basic-Utils

安装 :

dependencies:
basic_utils: ^2.2.2

例子 :

String x509Pem = "";
X509CertificateData data = X509Utils.x509CertificateFromPem(x509Pem);
String commonName = data.subject["2.5.4.3"];
print(commonName);

查看 X509Utils 的其他方法:

AsymmetricKeyPair generateKeyPair({int keySize = 2048});
String formatKeyString(String key, String begin, String end,{int chunkSize = 64, String lineDelimiter = "\n"});
String generateRsaCsrPem(Map<String, String> attributes,RSAPrivateKey privateKey, RSAPublicKey publicKey);
String encodeASN1ObjectToPem(ASN1Object asn1Object, String begin, String end);
String encodeRSAPublicKeyToPem(RSAPublicKey publicKey);
String encodeRSAPrivateKeyToPem(RSAPrivateKey rsaPrivateKey);
RSAPrivateKey privateKeyFromPem(String pem);
RSAPublicKey publicKeyFromPem(String pem);
Uint8List getBytesFromPEMString(String pem);
RSAPrivateKey privateKeyFromDERBytes(Uint8List bytes);
RSAPrivateKey privateKeyFromASN1Sequence(ASN1Sequence asnSequence);
Uint8List rsaPublicKeyModulusToBytes(RSAPublicKey publicKey);
Uint8List rsaPublicKeyExponentToBytes(RSAPublicKey publicKey);
Uint8List rsaPrivateKeyToBytes(RSAPrivateKey privateKey);
ASN1Object encodeDN(Map<String, String> dn);
X509CertificateData x509CertificateFromPem(String pem);
Future<X509CertificateData> fetchCertificate(Uri uri);

关于dart - 在 dart 中解析 X509 证书并提取通用名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57685203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com