XU XUv0.8.8
EN

API

#crypto/x509

import: #crypto/x509

counts: 5 函数, 6 方法, 4 类型, 39 常量, 0 方法集

解析证书与验签(Ed25519、RSA SHA-256、SM2-with-SM3)。无签发。

const unknown_signature_algorithm

XuAPI
pub const unknown_signature_algorithm = 0

用途

公开常量 `unknown_signature_algorithm`。 值为 `0`

参数

无

const md5_with_rsa

XuAPI
pub const md5_with_rsa = 2

用途

公开常量 `md5_with_rsa`。 值为 `2`

参数

无

const sha1_with_rsa

XuAPI
pub const sha1_with_rsa = 3

用途

公开常量 `sha1_with_rsa`。 值为 `3`

参数

无

const sha256_with_rsa

XuAPI
pub const sha256_with_rsa = 4

用途

公开常量 `sha256_with_rsa`。 值为 `4`

参数

无

const sha384_with_rsa

XuAPI
pub const sha384_with_rsa = 5

用途

公开常量 `sha384_with_rsa`。 值为 `5`

参数

无

const sha512_with_rsa

XuAPI
pub const sha512_with_rsa = 6

用途

公开常量 `sha512_with_rsa`。 值为 `6`

参数

无

const ecdsa_with_sha256

XuAPI
pub const ecdsa_with_sha256 = 10

用途

公开常量 `ecdsa_with_sha256`。 值为 `10`

参数

无

const ecdsa_with_sha384

XuAPI
pub const ecdsa_with_sha384 = 11

用途

公开常量 `ecdsa_with_sha384`。 值为 `11`

参数

无

const ecdsa_with_sha512

XuAPI
pub const ecdsa_with_sha512 = 12

用途

公开常量 `ecdsa_with_sha512`。 值为 `12`

参数

无

const pure_ed25519

XuAPI
pub const pure_ed25519 = 16

用途

公开常量 `pure_ed25519`。 值为 `16`

参数

无

const sm2_with_sm3

XuAPI
pub const sm2_with_sm3 = 20

用途

公开常量 `sm2_with_sm3`。 值为 `20`

参数

无

const unknown_public_key_algorithm

XuAPI
pub const unknown_public_key_algorithm = 0

用途

公开常量 `unknown_public_key_algorithm`。 值为 `0`

参数

无

const rsa

XuAPI
pub const rsa = 1

用途

公开常量 `rsa`。 值为 `1`

参数

无

const dsa

XuAPI
pub const dsa = 2

用途

公开常量 `dsa`。 值为 `2`

参数

无

const ecdsa

XuAPI
pub const ecdsa = 3

用途

公开常量 `ecdsa`。 值为 `3`

参数

无

const ed25519

XuAPI
pub const ed25519 = 4

用途

公开常量 `ed25519`。 值为 `4`

参数

无

const sm2

XuAPI
pub const sm2 = 5

用途

公开常量 `sm2`。 值为 `5`

参数

无

const key_usage_digital_signature

XuAPI
pub const key_usage_digital_signature = 1

用途

公开常量 `key_usage_digital_signature`。 值为 `1`

参数

无

const key_usage_content_commitment

XuAPI
pub const key_usage_content_commitment = 2

用途

公开常量 `key_usage_content_commitment`。 值为 `2`

参数

无

const key_usage_key_encipherment

XuAPI
pub const key_usage_key_encipherment = 4

用途

公开常量 `key_usage_key_encipherment`。 值为 `4`

参数

无

const key_usage_data_encipherment

XuAPI
pub const key_usage_data_encipherment = 8

用途

公开常量 `key_usage_data_encipherment`。 值为 `8`

参数

无

const key_usage_key_agreement

XuAPI
pub const key_usage_key_agreement = 16

用途

公开常量 `key_usage_key_agreement`。 值为 `16`

参数

无

const key_usage_cert_sign

XuAPI
pub const key_usage_cert_sign = 32

用途

公开常量 `key_usage_cert_sign`。 值为 `32`

参数

无

const key_usage_crl_sign

XuAPI
pub const key_usage_crl_sign = 64

用途

公开常量 `key_usage_crl_sign`。 值为 `64`

参数

无

const key_usage_encipher_only

XuAPI
pub const key_usage_encipher_only = 128

用途

公开常量 `key_usage_encipher_only`。 值为 `128`

参数

无

const key_usage_decipher_only

XuAPI
pub const key_usage_decipher_only = 256

用途

公开常量 `key_usage_decipher_only`。 值为 `256`

参数

无

struct Certificate

XuAPI
pub struct Certificate {
    pub raw string
    pub raw_tbs_certificate string
    pub raw_subject_public_key_info string
    pub raw_subject string
    pub raw_issuer string
    pub signature string
    pub signature_algorithm int
    pub public_key_algorithm int
    pub public_key string
    pub version int
    pub serial_number big.Int
    pub serial_bytes string
    pub issuer pkix.Name
    pub subject pkix.Name
    pub not_before time.Time
    pub not_after time.Time
    pub is_ca bool
    pub basic_constraints_valid bool
    pub max_path_len int
    pub max_path_len_zero bool
    pub key_usage int
    pub key_usage_present bool
    pub subject_key_id string
    pub authority_key_id string
    pub ext_key_usage []int
    pub ext_key_usage_present bool
    pub has_unknown_ext_key_usage bool
    pub permitted_dns_domains []string
    pub excluded_dns_domains []string
    pub permitted_ip_ranges []string
    pub excluded_ip_ranges []string
    pub name_constraints_present bool
    pub name_constraints_unsupported bool
    pub certificate_policies []string
    pub certificate_policies_present bool
    pub policy_mapping_issuers []string
    pub policy_mapping_subjects []string
    pub policy_mappings_present bool
    pub require_explicit_policy int
    pub inhibit_policy_mapping int
    pub policy_constraints_present bool
    pub inhibit_any_policy int
    pub inhibit_any_policy_present bool
    pub has_unhandled_critical_extension bool
    pub dns_names []string
    pub ip_addresses []string
}

用途

公开结构体 `Certificate`。

参数

raw string
字段(string)
raw_tbs_certificate string
字段(string)
raw_subject_public_key_info string
字段(string)
raw_subject string
字段(string)
raw_issuer string
字段(string)
signature string
字段(string)
signature_algorithm int
字段(int)
public_key_algorithm int
字段(int)
public_key string
字段(string)
version int
字段(int)
serial_number big.Int
字段(big.Int)
serial_bytes string
字段(string)
issuer pkix.Name
字段(pkix.Name)
subject pkix.Name
字段(pkix.Name)
not_before time.Time
字段(time.Time)
not_after time.Time
字段(time.Time)
is_ca bool
字段(bool)
basic_constraints_valid bool
字段(bool)
max_path_len int
字段(int)
max_path_len_zero bool
字段(bool)
key_usage int
字段(int)
key_usage_present bool
字段(bool)
subject_key_id string
字段(string)
authority_key_id string
字段(string)
ext_key_usage []int
字段([]int)
ext_key_usage_present bool
字段(bool)
has_unknown_ext_key_usage bool
字段(bool)
permitted_dns_domains []string
字段([]string)
excluded_dns_domains []string
字段([]string)
permitted_ip_ranges []string
字段([]string)
excluded_ip_ranges []string
字段([]string)
name_constraints_present bool
字段(bool)
name_constraints_unsupported bool
字段(bool)
certificate_policies []string
字段([]string)
certificate_policies_present bool
字段(bool)
policy_mapping_issuers []string
字段([]string)
policy_mapping_subjects []string
字段([]string)
policy_mappings_present bool
字段(bool)
require_explicit_policy int
字段(int)
inhibit_policy_mapping int
字段(int)
policy_constraints_present bool
字段(bool)
inhibit_any_policy int
字段(int)
inhibit_any_policy_present bool
字段(bool)
has_unhandled_critical_extension bool
字段(bool)
dns_names []string
字段([]string)
ip_addresses []string
字段([]string)

struct CertPool

XuAPI
pub struct CertPool {
    pub certs []Certificate
}

用途

公开结构体 `CertPool`。

参数

certs []Certificate
字段([]Certificate)

struct VerifyOptions

XuAPI
pub struct VerifyOptions {
    pub dns_name string
    pub current_time time.Time
    pub roots CertPool
    pub intermediates CertPool
    pub key_usages []int
    pub certificate_policies []string
    pub revocation_lists []string
    pub revocation_mode int
}

用途

公开结构体 `VerifyOptions`。

参数

dns_name string
字段(string)
current_time time.Time
字段(time.Time)
roots CertPool
字段(CertPool)
intermediates CertPool
字段(CertPool)
key_usages []int
字段([]int)
certificate_policies []string
字段([]string)
revocation_lists []string
字段([]string)
revocation_mode int
字段(int)

new_cert_pool

XuAPI
pub fn new_cert_pool() CertPool

用途

构造 cert pool。

参数

无

返回

CertPool — 该类型的值

(&mut CertPool) add

XuAPI
pub fn (p &mut CertPool) add(c Certificate)

用途

`&mut CertPool` 上的方法:相加。

参数

p &mut CertPool
接收者 &mut CertPool(可变借用)
c Certificate
字节或字符码(Certificate)

append_certificates

XuAPI
pub fn append_certificates(p &mut CertPool, pem_data &string) int

用途

appendcertificates。

参数

p &mut CertPool
p(独占借用;类型 &mut CertPool)
pem_data &string
pem_data(借用,调用方仍持有;类型 &string)

返回

int — 该类型的值

system_cert_pool

XuAPI
pub fn system_cert_pool() CertPool

用途

systemcertpool。

参数

无

返回

CertPool — 该类型的值

parse_certificate

XuAPI
pub fn parse_certificate(der string) Certificate

用途

解析为 certificate。失败时 throw。

参数

der string
der(string)

返回

Certificate — 该类型的值

(&Certificate) check_signature

XuAPI
pub fn (c &Certificate) check_signature(algo int, signed &string, signature &string) int

用途

`&Certificate` 上的方法:checksignature。失败时 throw。

参数

c &Certificate
接收者 &Certificate(借用)
algo int
algo(int)
signed &string
signed(借用,调用方仍持有;类型 &string)
signature &string
signature(借用,调用方仍持有;类型 &string)

返回

int — 该类型的值

(&Certificate) check_signature_from

XuAPI
pub fn (c &Certificate) check_signature_from(parent &Certificate) int

用途

`&Certificate` 上的方法:checksignature从。失败时 throw。

参数

c &Certificate
接收者 &Certificate(借用)
parent &Certificate
parent(借用,调用方仍持有;类型 &Certificate)

返回

int — 该类型的值

(&Certificate) verify_with_pools

XuAPI
pub fn (c &Certificate) verify_with_pools(dns_name string, current_time time.Time, roots &CertPool, intermediates &CertPool) int

用途

`&Certificate` 上的方法:验签withpools。失败时 throw。

参数

c &Certificate
接收者 &Certificate(借用)
dns_name string
dns_name(string)
current_time time.Time
current_time(time.Time)
roots &CertPool
roots(借用,调用方仍持有;类型 &CertPool)
intermediates &CertPool
intermediates(借用,调用方仍持有;类型 &CertPool)

返回

int — 该类型的值

(&Certificate) verify_options

XuAPI
pub fn (c &Certificate) verify_options(opts &VerifyOptions) int

用途

`&Certificate` 上的方法:验签options。失败时 throw。

参数

c &Certificate
接收者 &Certificate(借用)
opts &VerifyOptions
opts(借用,调用方仍持有;类型 &VerifyOptions)

返回

int — 该类型的值

(&Certificate) verify

XuAPI
pub fn (c &Certificate) verify(opts VerifyOptions) int

用途

`&Certificate` 上的方法:验签。

参数

c &Certificate
接收者 &Certificate(借用)
opts VerifyOptions
opts(VerifyOptions)

返回

int — 该类型的值

const ext_key_usage_any

XuAPI
pub const ext_key_usage_any = 0

用途

公开常量 `ext_key_usage_any`。 值为 `0`

参数

无

const ext_key_usage_server_auth

XuAPI
pub const ext_key_usage_server_auth = 1

用途

公开常量 `ext_key_usage_server_auth`。 值为 `1`

参数

无

const ext_key_usage_client_auth

XuAPI
pub const ext_key_usage_client_auth = 2

用途

公开常量 `ext_key_usage_client_auth`。 值为 `2`

参数

无

const ext_key_usage_code_signing

XuAPI
pub const ext_key_usage_code_signing = 3

用途

公开常量 `ext_key_usage_code_signing`。 值为 `3`

参数

无

const ext_key_usage_email_protection

XuAPI
pub const ext_key_usage_email_protection = 4

用途

公开常量 `ext_key_usage_email_protection`。 值为 `4`

参数

无

const ext_key_usage_ipsec_end_system

XuAPI
pub const ext_key_usage_ipsec_end_system = 5

用途

公开常量 `ext_key_usage_ipsec_end_system`。 值为 `5`

参数

无

const ext_key_usage_ipsec_tunnel

XuAPI
pub const ext_key_usage_ipsec_tunnel = 6

用途

公开常量 `ext_key_usage_ipsec_tunnel`。 值为 `6`

参数

无

const ext_key_usage_ipsec_user

XuAPI
pub const ext_key_usage_ipsec_user = 7

用途

公开常量 `ext_key_usage_ipsec_user`。 值为 `7`

参数

无

const ext_key_usage_time_stamping

XuAPI
pub const ext_key_usage_time_stamping = 8

用途

公开常量 `ext_key_usage_time_stamping`。 值为 `8`

参数

无

const ext_key_usage_ocsp_signing

XuAPI
pub const ext_key_usage_ocsp_signing = 9

用途

公开常量 `ext_key_usage_ocsp_signing`。 值为 `9`

参数

无

const revocation_off

XuAPI
pub const revocation_off = 0

用途

公开常量 `revocation_off`。 值为 `0`

参数

无

const revocation_if_present

XuAPI
pub const revocation_if_present = 1

用途

公开常量 `revocation_if_present`。 值为 `1`

参数

无

const revocation_require

XuAPI
pub const revocation_require = 2

用途

公开常量 `revocation_require`。 值为 `2`

参数

无

struct RevocationList

XuAPI
pub struct RevocationList {
    pub raw string
    pub raw_tbs string
    pub raw_issuer string
    pub signature string
    pub signature_algorithm int
    pub this_update time.Time
    pub next_update time.Time
    pub next_update_present bool
    pub authority_key_id string
    pub number int
    pub revoked_serials []string
    pub has_unhandled_critical_extension bool
}

用途

公开结构体 `RevocationList`。

参数

raw string
字段(string)
raw_tbs string
字段(string)
raw_issuer string
字段(string)
signature string
字段(string)
signature_algorithm int
字段(int)
this_update time.Time
字段(time.Time)
next_update time.Time
字段(time.Time)
next_update_present bool
字段(bool)
authority_key_id string
字段(string)
number int
字段(int)
revoked_serials []string
字段([]string)
has_unhandled_critical_extension bool
字段(bool)

parse_revocation_list

XuAPI
pub fn parse_revocation_list(der string) RevocationList

用途

解析为 revocation list。失败时 throw。

参数

der string
der(string)

返回

RevocationList — 该类型的值