Sample code for 30+ languages & platforms
Rust Requires Chilkat v11.0.0+

Verify SSL Server Certificate

See more Socket/SSL/TLS Examples

Demonstrates how to connect to an SSL server and verify its SSL certificate.

Chilkat Rust Downloads

Rust

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

let socket = chilkat::Socket::new();

let ssl = true;
let max_wait_millisec = 20000;

// The SSL server hostname may be an IP address, a domain name,
// or "localhost". 
let ssl_server_host = "www.paypal.com".to_string();
let ssl_server_port = 443;

// Connect to the SSL server:
if socket.connect(&ssl_server_host, ssl_server_port, ssl, max_wait_millisec).is_err() {
    println!("{}", socket.last_error_text());
    return;
}

let cert = chilkat::Cert::new();

let mut b_expired = false;
let mut b_revoked = false;
let mut b_signature_verified = false;
let mut b_trusted_root = false;

if socket.get_server_cert(&cert).is_ok() {

    println!("Server Certificate:");
    println!("Distinguished Name: {}", cert.subject_dn());
    println!("Common Name: {}", cert.subject_cn());
    println!("Issuer Distinguished Name: {}", cert.issuer_dn());
    println!("Issuer Common Name: {}", cert.issuer_cn());

    b_expired = cert.expired();
    b_revoked = cert.revoked();
    b_signature_verified = cert.signature_verified();
    b_trusted_root = cert.trusted_root();

    println!("Expired: {}", b_expired);
    println!("Revoked: {}", b_revoked);
    println!("Signature Verified: {}", b_signature_verified);
    println!("Trusted Root: {}", b_trusted_root);

}

// Close the connection with the server
// Wait a max of 20 seconds (20000 millsec)
let _ = socket.close(20000).is_ok();