Dart X509Certificate
last modified April 4, 2025
The X509Certificate class in Dart provides functionality for working
with X.509 certificates. These certificates are used in SSL/TLS connections.
X509Certificate allows parsing, inspecting, and validating digital certificates.
It's part of Dart's dart:io library for secure network communication.
Basic Definition
X509Certificate represents an X.509 digital certificate. It contains
information about the certificate holder, issuer, validity period, and public key.
Key features include subject/issuer inspection, validity period checking, and fingerprint generation. It's essential for secure network communication.
Parsing a Certificate
This example shows how to parse a PEM-encoded certificate string.
main.dart
import 'dart:io';
void main() {
const pemCert = '''
-----BEGIN CERTIFICATE-----
MIIDUTCCAjmgAwIBAgIJAKH9y6A5hQ4AMA0GCSqGSIb3DQEBCwUAMBsxGTAXBgNV
BAMMEHd3dy5leGFtcGxlLmNvbTAeFw0yMzAxMDEwMDAwMDBaFw0yNDAxMDEwMDAw
MDBaMBsxGTAXBgNVBAMMEHd3dy5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBALe9z5jZV7v5X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9X9h9
X9