跳到主要内容

CertificateRevocationList

搜索

结构体 CertificateRevocationList 

Source
pub struct CertificateRevocationList { /* private fields */ }
展开描述

一个证书吊销列表(CRL)

§Example

extern crate rcgen;
use rcgen::*;

#[cfg(not(feature = "crypto"))]
struct MyKeyPair { public_key: Vec<u8> }
#[cfg(not(feature = "crypto"))]
impl SigningKey for MyKeyPair {
  fn sign(&self, _: &[u8]) -> Result<Vec<u8>, rcgen::Error> { Ok(vec![]) }
}
#[cfg(not(feature = "crypto"))]
impl PublicKeyData for MyKeyPair {
  fn der_bytes(&self) -> &[u8] { &self.public_key }
  fn algorithm(&self) -> &'static SignatureAlgorithm { &PKCS_ED25519 }
}
// Generate a CRL issuer.
let mut issuer_params = CertificateParams::new(vec!["crl.issuer.example.com".to_string()]).unwrap();
issuer_params.serial_number = Some(SerialNumber::from(9999));
issuer_params.is_ca = IsCa::Ca(BasicConstraints::Unconstrained);
issuer_params.key_usages = vec![KeyUsagePurpose::KeyCertSign, KeyUsagePurpose::DigitalSignature, KeyUsagePurpose::CrlSign];
#[cfg(feature = "crypto")]
let key_pair = KeyPair::generate().unwrap();
#[cfg(not(feature = "crypto"))]
let key_pair = MyKeyPair { public_key: vec![] };
let issuer = Issuer::new(issuer_params, key_pair);

// Describe a revoked certificate.
let revoked_cert = RevokedCertParams{
  serial_number: SerialNumber::from(9999),
  revocation_time: date_time_ymd(2024, 06, 17),
  reason_code: Some(RevocationReason::KeyCompromise),
  invalidity_date: None,
};
// Create a CRL signed by the issuer, revoking revoked_cert.
let crl = CertificateRevocationListParams{
  this_update: date_time_ymd(2023, 06, 17),
  next_update: date_time_ymd(2024, 06, 17),
  crl_number: SerialNumber::from(1234),
  issuing_distribution_point: None,
  revoked_certs: vec![revoked_cert],
  #[cfg(feature = "crypto")]
  key_identifier_method: KeyIdMethod::Sha256,
  #[cfg(not(feature = "crypto"))]
  key_identifier_method: KeyIdMethod::PreSpecified(vec![]),
}.signed_by(&issuer).unwrap();

实现§

Source§

impl CertificateRevocationList

Source

pub fn pem(&self) -> Result<String, Error>

获取该 CRL 的 PEM 编码形式。

Source

pub fn der(&self) -> &CertificateRevocationListDer<'static>

获取该 CRL 的 DER 编码形式。

CertificateRevocationListDer 实现了 Deref<Target = [u8]>AsRef<[u8]>,因此你可以轻松地从返回值中提取 DER 字节。

Trait 实现§

Source§

impl Clone for CertificateRevocationList

Source§

fn clone(&self) -> CertificateRevocationList

返回值的副本。 更多信息
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. 更多信息
Source§

impl Debug for CertificateRevocationList

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

使用给定的格式化器格式化此值。 更多信息
Source§

impl From<CertificateRevocationList> for CertificateRevocationListDer<'static>

Source§

fn from(crl: CertificateRevocationList) -> Self

从输入类型转换为此类型。
Source§

impl PartialEq for CertificateRevocationList

Source§

fn eq(&self, other: &CertificateRevocationList) -> bool

测试 selfother 值是否相等,供 == 运算符使用。
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

测试 != 运算符。默认实现几乎总是够用,除非有非常充分的理由,否则不应被覆盖。
Source§

impl Eq for CertificateRevocationList

Source§

impl StructuralPartialEq for CertificateRevocationList

自动 Trait 实现§

Blanket 实现§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. 更多信息
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. 更多信息
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. 更多信息
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 更多信息
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

原样返回传入的参数。

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

调用 U::from(self)

That is, this conversion is whatever the implementation of From<T> for U 的实现方式。

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

获得所有权后的类型。
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. 更多信息
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. 更多信息
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

转换出错时返回的类型。
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

执行转换。
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

转换出错时返回的类型。
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

执行转换。