|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
| (Unicode C) Load a CSR and Get the SANs (Subject Alternative Names)See more CSR ExamplesDemonstrates how to load a Certificate Signing Request (CSR) and get the Subject Alternative Names (if any).Note: This example requires Chilkat v9.5.0.91 or greater. 
 #include <C_CkCsrW.h> #include <C_CkFileAccessW.h> #include <C_CkStringTableW.h> void ChilkatSample(void) { HCkCsrW csr; HCkFileAccessW fac; const wchar_t *csrPem; BOOL success; HCkStringTableW st; int i; int numSans; // Note: Requires Chilkat v9.5.0.91 or greater. // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. csr = CkCsrW_Create(); // Load a CSR PEM file. The file should contain content that looks like this: // // -----BEGIN CERTIFICATE REQUEST----- // MIIDnzCCAocCAQAwgZ4xFDASBgNVBAMMC2V4YW1wbGUuY29tMRQwEgYDVQQHDAtM // b3MgQW5nZWxlczETMBEGA1UECAwKQ2FsaWZvcm5pYTEUMBIGA1UECgwLRXhhbXBs // ZSBJbmMxFDASBgNVBAsMC1NTTCBTdXBwb3J0MSIwIAYJKoZIhvcNAQkBFhNleGFt // cGxlQGV4YW1wbGUuY29tMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQAD // ggEPADCCAQoCggEBALhIT/q7y1xwpYaR0Coplktwn7RGaJpEBCgbJWxOVPTGL540 // erlhc6MrSEr6fo/HNtAbn6MNWm5F0MwjEU7H1Jxc7DYav+ps3hyhGaK9jalE99Sm // yFOzKMLDPyWTPpxfT4QBO4rpWxMT2lgixDkZlaNqmC6pUGXArfH+H1F3C0gtH4ZU // XN/Ipyk6r6ozWnJvIefdMe1JmeMD3RSoVcXd9bNWSpiD4uJnV+2pewkkNzhcGzBH // MGi4ZjIbpPiYLlri/79fPb6u7wYkYLzCWRKzq6EaJkqY6OQgE33SC1GQKjC/fFRx // wogub1s9cRjfL6vdqWbTJ5xhOkPeBO3UzHBHIksCAwEAAaCBujCBtwYJKoZIhvcN // AQkOMYGpMIGmMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgWgMB0GA1UdJQQWMBQGCCsG // AQUFBwMBBggrBgEFBQcDAjBtBgNVHREEZjBkggtleGFtcGxlLmNvbYIPd3d3LmV4 // YW1wbGUuY29tgg9mdHAuZXhhbXBsZS5jb22CD3N2bi5leGFtcGxlLmNvbYIQc210 // cC5leGFtcGxlLmNvbYIQaW1hcC5leGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOC // AQEAsIEDMlZViEVtuQWpfa6vUl5RfqQrop+hh9l4UmEOnERLEzyVO+9Kn7jNxyOR // Gg7O9H4BYTfet6YwfpawbnQ1HBexduRZaUnET8RiYgKch0vWr/HbP7jvc23XUz2P // NOAiet/tyTU6U5xJn0H4q1VFIbHjntpBSL+n+aiv8glIUepG8BwTu+vBe2/kVzKG // ro2tudhbpEJYOwurlHCoubhCah9ryIkDeYEnycsrB6VnaxeGK0/5S2JBQo22/F9s // T+q0Gee936ISvypLwNoIX+YFAjw2KnqucUM3RKHAAheJin5WNIQXdHHKGsImapun // VqmPwLN6Kgm+kFVS0H5eyULSnA== // -----END CERTIFICATE REQUEST----- fac = CkFileAccessW_Create(); csrPem = CkFileAccessW_readEntireTextFile(fac,L"qa_data/csr/myCsr.pem",L"utf-8"); success = CkCsrW_LoadCsrPem(csr,csrPem); if (success != TRUE) { wprintf(L"%s\n",CkCsrW_lastErrorText(csr)); CkCsrW_Dispose(csr); CkFileAccessW_Dispose(fac); return; } // Get the SANs st = CkStringTableW_Create(); success = CkCsrW_GetSans(csr,st); if (success != TRUE) { wprintf(L"%s\n",CkCsrW_lastErrorText(csr)); CkCsrW_Dispose(csr); CkFileAccessW_Dispose(fac); CkStringTableW_Dispose(st); return; } i = 0; numSans = CkStringTableW_getCount(st); while (i < numSans) { wprintf(L"%s\n",CkStringTableW_stringAt(st,i)); i = i + 1; } CkCsrW_Dispose(csr); CkFileAccessW_Dispose(fac); CkStringTableW_Dispose(st); } | ||||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.