Struct TlsConfig
pub struct TlsConfig {
pub cert: Vec<CertificateDer<'static>>,
pub key: PrivateKeyDer<'static>,
pub client_cert_verifier: Arc<dyn ClientCertVerifier>,
pub server_cert_verifier: Arc<dyn ServerCertVerifier>,
/* private fields */
}Expand description
TLS configuration for both client and server connections Client authentication is always required
Fields§
§cert: Vec<CertificateDer<'static>>Certificate in DER format
key: PrivateKeyDer<'static>Private key in DER format
client_cert_verifier: Arc<dyn ClientCertVerifier>Certificate verifier
server_cert_verifier: Arc<dyn ServerCertVerifier>Server certificate verifier
Implementations§
§impl TlsConfig
impl TlsConfig
pub fn new(
cert: Vec<CertificateDer<'static>>,
key: PrivateKeyDer<'static>,
) -> Self
pub fn new( cert: Vec<CertificateDer<'static>>, key: PrivateKeyDer<'static>, ) -> Self
Create a new TLS configuration from DER-encoded certificate and key data
pub fn from_pem(cert_pem: &[u8], key_pem: &[u8]) -> Result<Self, TlsError>
pub fn from_pem(cert_pem: &[u8], key_pem: &[u8]) -> Result<Self, TlsError>
Create a TLS configuration from PEM-encoded data
pub fn from_pem_files<P: AsRef<Path>>(
cert_path: P,
key_path: P,
) -> Result<Self, TlsError>
pub fn from_pem_files<P: AsRef<Path>>( cert_path: P, key_path: P, ) -> Result<Self, TlsError>
Create a TLS configuration from PEM files
pub fn check_cert_validity_timestamp(
cert_pem: &[u8],
ts: i64,
) -> Result<bool, TlsError>
pub fn check_cert_validity_timestamp( cert_pem: &[u8], ts: i64, ) -> Result<bool, TlsError>
Check the certificate time validity for the provided unix timestamp in i64
pub fn cert_expiration_timestamp(cert_pem: &[u8]) -> Result<i64, TlsError>
pub fn cert_expiration_timestamp(cert_pem: &[u8]) -> Result<i64, TlsError>
Return leaf certificate expiration timestamp (unix seconds).
pub fn node_id(&self) -> NodeID
pub fn signing_key(&self) -> Arc<NodeSigningKey>
pub fn client_config(&self) -> Result<Arc<ClientConfig>, TlsError>
pub fn client_config(&self) -> Result<Arc<ClientConfig>, TlsError>
Create a client TLS configuration
The certificate will be used for both client authentication and server verification in mutual authentication.
pub fn server_config(&self) -> Result<Arc<ServerConfig>, TlsError>
pub fn server_config(&self) -> Result<Arc<ServerConfig>, TlsError>
Create a server TLS configuration with mandatory client authentication
Auto Trait Implementations§
impl Freeze for TlsConfig
impl !RefUnwindSafe for TlsConfig
impl Send for TlsConfig
impl Sync for TlsConfig
impl Unpin for TlsConfig
impl UnsafeUnpin for TlsConfig
impl !UnwindSafe for TlsConfig
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more