Dart X509Certificate tutorial shows how to work with X.509 certificates in Dart using the X509Certificate class.
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.
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.
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