Rust Requires Chilkat v11.0.0+
Rust
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
// 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();