blob: af385df5f7197e0178cf0199a9bb643ad4e40501 [file] [log] [blame]
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="The standard defining the format of public key certificates."><meta name="keywords" content="rust, rustlang, rust-lang, x509"><title>openssl::x509 - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../../normalize.css"><link rel="stylesheet" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../../ayu.css" disabled><link rel="stylesheet" href="../../dark.css" disabled><link rel="stylesheet" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script defer src="../../main.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../openssl/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../openssl/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">Module x509</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Module <a href="../index.html">openssl</a>::<wbr><a class="mod" href="#">x509</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/openssl/x509/mod.rs.html#1-2533">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The standard defining the format of public key certificates.</p>
<p>An <code>X509</code> certificate binds an identity to a public key, and is either
signed by a certificate authority (CA) or self-signed. An entity that gets
a hold of a certificate can both verify your identity (via a CA) and encrypt
data with the included public key. <code>X509</code> certificates are used in many
Internet protocols, including SSL/TLS, which is the basis for HTTPS,
the secure protocol for browsing the web.</p>
</div></details><h2 id="modules" class="small-section-header"><a href="#modules">Modules</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="mod" href="extension/index.html" title="openssl::x509::extension mod">extension</a></div><div class="item-right docblock-short">Add extensions to an <code>X509</code> certificate or certificate request.</div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="store/index.html" title="openssl::x509::store mod">store</a></div><div class="item-right docblock-short">Describe a context in which to verify an <code>X509</code> certificate.</div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="verify/index.html" title="openssl::x509::verify mod">verify</a></div></div></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.AccessDescription.html" title="openssl::x509::AccessDescription struct">AccessDescription</a></div><div class="item-right docblock-short"><code>AccessDescription</code> of certificate authority information.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.AccessDescriptionRef.html" title="openssl::x509::AccessDescriptionRef struct">AccessDescriptionRef</a></div><div class="item-right docblock-short">Reference to <code>AccessDescription</code>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.CrlReason.html" title="openssl::x509::CrlReason struct">CrlReason</a></div><div class="item-right docblock-short">The reason that a certificate was revoked.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.DistPoint.html" title="openssl::x509::DistPoint struct">DistPoint</a></div><div class="item-right docblock-short">A <code>X509</code> distribution point.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.DistPointName.html" title="openssl::x509::DistPointName struct">DistPointName</a></div><div class="item-right docblock-short">A <code>X509</code> distribution point.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.DistPointNameRef.html" title="openssl::x509::DistPointNameRef struct">DistPointNameRef</a></div><div class="item-right docblock-short">Reference to <code>DistPointName</code>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.DistPointRef.html" title="openssl::x509::DistPointRef struct">DistPointRef</a></div><div class="item-right docblock-short">Reference to <code>DistPoint</code>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.GeneralName.html" title="openssl::x509::GeneralName struct">GeneralName</a></div><div class="item-right docblock-short">An <code>X509</code> certificate alternative names.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.GeneralNameRef.html" title="openssl::x509::GeneralNameRef struct">GeneralNameRef</a></div><div class="item-right docblock-short">Reference to <code>GeneralName</code>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509.html" title="openssl::x509::X509 struct">X509</a></div><div class="item-right docblock-short">An <code>X509</code> public key certificate.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509Algorithm.html" title="openssl::x509::X509Algorithm struct">X509Algorithm</a></div><div class="item-right docblock-short">An <code>X509</code> certificate signature algorithm.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509AlgorithmRef.html" title="openssl::x509::X509AlgorithmRef struct">X509AlgorithmRef</a></div><div class="item-right docblock-short">Reference to <code>X509Algorithm</code>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509Builder.html" title="openssl::x509::X509Builder struct">X509Builder</a></div><div class="item-right docblock-short">A builder used to construct an <code>X509</code>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509Crl.html" title="openssl::x509::X509Crl struct">X509Crl</a></div><div class="item-right docblock-short">An <code>X509</code> certificate revocation list.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509CrlRef.html" title="openssl::x509::X509CrlRef struct">X509CrlRef</a></div><div class="item-right docblock-short">Reference to <code>X509Crl</code>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509Extension.html" title="openssl::x509::X509Extension struct">X509Extension</a></div><div class="item-right docblock-short">Permit additional fields to be added to an <code>X509</code> v3 certificate.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509ExtensionRef.html" title="openssl::x509::X509ExtensionRef struct">X509ExtensionRef</a></div><div class="item-right docblock-short">Reference to <code>X509Extension</code>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509Name.html" title="openssl::x509::X509Name struct">X509Name</a></div><div class="item-right docblock-short">The names of an <code>X509</code> certificate.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509NameBuilder.html" title="openssl::x509::X509NameBuilder struct">X509NameBuilder</a></div><div class="item-right docblock-short">A builder used to construct an <code>X509Name</code>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509NameEntries.html" title="openssl::x509::X509NameEntries struct">X509NameEntries</a></div><div class="item-right docblock-short">A type to destructure and examine an <code>X509Name</code>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509NameEntry.html" title="openssl::x509::X509NameEntry struct">X509NameEntry</a></div><div class="item-right docblock-short">A name entry associated with a <code>X509Name</code>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509NameEntryRef.html" title="openssl::x509::X509NameEntryRef struct">X509NameEntryRef</a></div><div class="item-right docblock-short">Reference to <code>X509NameEntry</code>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509NameRef.html" title="openssl::x509::X509NameRef struct">X509NameRef</a></div><div class="item-right docblock-short">Reference to <code>X509Name</code>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509Object.html" title="openssl::x509::X509Object struct">X509Object</a></div><div class="item-right docblock-short">An <code>X509</code> or an X509 certificate revocation list.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509ObjectRef.html" title="openssl::x509::X509ObjectRef struct">X509ObjectRef</a></div><div class="item-right docblock-short">Reference to <code>X509Object</code></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509PurposeId.html" title="openssl::x509::X509PurposeId struct">X509PurposeId</a></div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509PurposeRef.html" title="openssl::x509::X509PurposeRef struct">X509PurposeRef</a></div><div class="item-right docblock-short">A reference to an [<code>X509_PURPOSE</code>].</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509Ref.html" title="openssl::x509::X509Ref struct">X509Ref</a></div><div class="item-right docblock-short">Reference to <code>X509</code>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509Req.html" title="openssl::x509::X509Req struct">X509Req</a></div><div class="item-right docblock-short">An <code>X509</code> certificate request.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509ReqBuilder.html" title="openssl::x509::X509ReqBuilder struct">X509ReqBuilder</a></div><div class="item-right docblock-short">A builder used to construct an <code>X509Req</code>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509ReqRef.html" title="openssl::x509::X509ReqRef struct">X509ReqRef</a></div><div class="item-right docblock-short">Reference to <code>X509Req</code>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509Revoked.html" title="openssl::x509::X509Revoked struct">X509Revoked</a></div><div class="item-right docblock-short">An <code>X509</code> certificate revocation status.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509RevokedRef.html" title="openssl::x509::X509RevokedRef struct">X509RevokedRef</a></div><div class="item-right docblock-short">Reference to <code>X509Revoked</code>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509StoreContext.html" title="openssl::x509::X509StoreContext struct">X509StoreContext</a></div><div class="item-right docblock-short">An <code>X509</code> certificate store context.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509StoreContextRef.html" title="openssl::x509::X509StoreContextRef struct">X509StoreContextRef</a></div><div class="item-right docblock-short">A reference to an <a href="struct.X509StoreContext.html" title="X509StoreContext"><code>X509StoreContext</code></a>.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509VerifyResult.html" title="openssl::x509::X509VerifyResult struct">X509VerifyResult</a></div><div class="item-right docblock-short">The result of peer certificate verification.</div></div><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.X509v3Context.html" title="openssl::x509::X509v3Context struct">X509v3Context</a></div><div class="item-right docblock-short">A context object required to construct certain <code>X509</code> extension values.</div></div></div><h2 id="enums" class="small-section-header"><a href="#enums">Enums</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.CertificateIssuer.html" title="openssl::x509::CertificateIssuer enum">CertificateIssuer</a></div><div class="item-right docblock-short">The CRL entry extension identifying the issuer of a certificate used in
indirect CRLs, as defined in RFC 5280 Section 5.3.3.</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.CrlStatus.html" title="openssl::x509::CrlStatus enum">CrlStatus</a></div><div class="item-right docblock-short">The status of a certificate in a revoction list</div></div><div class="item-row"><div class="item-left module-item"><a class="enum" href="enum.ReasonCode.html" title="openssl::x509::ReasonCode enum">ReasonCode</a></div><div class="item-right docblock-short">The CRL entry extension identifying the reason for revocation see <a href="struct.CrlReason.html" title="CrlReason"><code>CrlReason</code></a>,
this is as defined in RFC 5280 Section 5.3.1.</div></div></div><h2 id="traits" class="small-section-header"><a href="#traits">Traits</a></h2><div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.ExtensionType.html" title="openssl::x509::ExtensionType trait">ExtensionType</a></div><div class="item-right docblock-short">A type of X509 extension.</div></div></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="openssl" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.66.0-nightly (5c8bff74b 2022-10-21)" ></div></body></html>