Sample code for 30+ languages & platforms
Dart

CSR Get Extension Request

See more CSR Examples

If a CSR contains a 1.2.840.113549.1.9.14 extensionRequest, then this method will return the extension request in XML format.

Note: This example requires Chilkat v9.5.0.91 or greater.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // This requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  final csr = CkCsr();

  // Load a CSR PEM file.  The file should contain content that looks like this:
  // 
  // 	-----BEGIN CERTIFICATE REQUEST-----
  // 	MII...
  // 	....
  // 	....
  // 	....
  // 	-----END CERTIFICATE REQUEST-----

  final fac = CkFileAccess();
  final csrPem = fac.readEntireTextFile('qa_data/csr/sample.pem', 'utf-8');

  try {
    csr.loadCsrPem(csrPem);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final xml = CkXml();

  try {
    csr.getExtensionRequest(xml);
  } on ChilkatException {
    print('CSR has no extensionRequest.');
    return;
  }

  final xmlStr = xml.getXml();
  print(xmlStr);

  // Sample output:

  // <?xml version="1.0" encoding="utf-8"?>
  // <set>
  //     <sequence>
  //         <sequence>
  //             <oid>1.3.6.1.4.1.311.20.2</oid>
  //             <asnOctets>
  //                 <printable>ZATCA-Code-Signing</printable>
  //             </asnOctets>
  //         </sequence>
  //         <sequence>
  //             <oid>2.5.29.17</oid>
  //             <asnOctets>
  //                 <sequence>
  //                     <contextSpecific tag="4" constructed="1">
  //                         <sequence>
  //                             <set>
  //                                 <sequence>
  //                                     <oid>2.5.4.4</oid>
  //                                     <utf8>334623324234325</utf8>
  //                                 </sequence>
  //                             </set>
  //                             <set>
  //                                 <sequence>
  //                                     <oid>0.9.2342.19200300.100.1.1</oid>
  //                                     <utf8>310122393500003</utf8>
  //                                 </sequence>
  //                             </set>
  //                             <set>
  //                                 <sequence>
  //                                     <oid>2.5.4.12</oid>
  //                                     <utf8>0000</utf8>
  //                                 </sequence>
  //                             </set>
  //                             <set>
  //                                 <sequence>
  //                                     <oid>2.5.4.26</oid>
  //                                     <utf8>Sample E</utf8>
  //                                 </sequence>
  //                             </set>
  //                             <set>
  //                                 <sequence>
  //                                     <oid>2.5.4.15</oid>
  //                                     <utf8>Sample Business</utf8>
  //                                 </sequence>
  //                             </set>
  //                         </sequence>
  //                     </contextSpecific>
  //                 </sequence>
  //             </asnOctets>
  //         </sequence>
  //     </sequence>
  // </set>

  // Use this online tool to generate parsing code from sample XML: 
  // Generate Parsing Code from XML
}