ZetCode

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