![]() |
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
(Swift) Get the Server Certificate, Certificate Chain, and Root CA CertificateDemonstrates how to get the HTTP server certificate, its certificate chain, and the root CA certificate.
func chilkatTest() { // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. let http = CkoHttp()! // We're getting the SSL/TLS certificate, so make sure to connect to the SSL/TLS port (443). var sslCert: CkoCert? = http.getServerSslCert("nationalgeographic.com", port: 443) if http.lastMethodSuccess == false { print("\(http.lastErrorText!)") return } // Note: Prior to v9.5.0.50, this method would fail if the certificate chain could not // be completed to the root. Starting in v9.5.0.50, the incomplete certificate chain // will be returned. The certificate chain's ReachesRoot property can be examined to // see if the chain was completed to the root. var certChain: CkoCertChain? = sslCert!.getChain() if sslCert!.lastMethodSuccess == false { print("\(sslCert!.lastErrorText!)") sslCert = nil return } var i: Int = 0 var numCerts: Int = certChain!.numCerts.intValue while i < numCerts { var cert: CkoCert? = certChain!.getCert(i) print("SubjectDN \(i): \(cert!.subjectDN!)") print("IssuerDN \(i): \(cert!.issuerDN!)") cert = nil i = i + 1 } // If the certificate chain reaches the root CA cert, then the last cert in the chain // is the root CA cert. if certChain!.reachesRoot == true { var caCert: CkoCert? = certChain!.getCert(numCerts - 1) print("CA Root Cert: \(caCert!.subjectDN!)") caCert = nil } sslCert = nil certChain = nil } |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.