1 //! The object identifiers used in this crate.
2 //!
3 //! This module collects all the object identifiers used at various places
4 //! in this crate in one central place. They are public so you can refer to
5 //! them should that ever become necessary.
6 
7 use bcder::{ConstOid, Oid};
8 
9 /// [RFC 4055](https://tools.ietf.org/html/rfc4055) `id-sha256`
10 ///
11 /// Identifies the SHA-256 one-way hash function.
12 pub const SHA256: ConstOid
13     = Oid(&[96, 134, 72, 1, 101, 3, 4, 2, 1]);
14 
15 /// [RFC 4055](https://tools.ietf.org/html/rfc4055) `rsaEncryption`
16 ///
17 /// Identifies an RSA public key with no limitation to either RSASSA-PSS or
18 /// RSAES-OEAP.
19 pub const RSA_ENCRYPTION: ConstOid
20     = Oid(&[42, 134, 72, 134, 247, 13, 1, 1, 1]);
21 
22 /// [RFC 4055](https://tools.ietf.org/html/rfc4055) `sha256WithRSAEncryption`
23 ///
24 /// Identifies the PKCS #1 version 1.5 signature algorithm with SHA-256.
25 pub const SHA256_WITH_RSA_ENCRYPTION: ConstOid
26     = Oid(&[42, 134, 72, 134, 247, 13, 1, 1, 11]);
27 
28 /// [RFC 5480](https://tools.ietf.org/html/rfc5480) `ecPublicKey`.
29 ///
30 /// Identifies public keys for elliptic curve cryptography.
31 pub const EC_PUBLIC_KEY: ConstOid = Oid(&[42, 134, 72, 206, 61, 2, 1]);
32 
33 /// [RFC 5480](https://tools.ietf.org/html/rfc5480) `secp256r1`.
34 ///
35 /// Identifies the P-256 curve for elliptic curve cryptography.
36 pub const SECP256R1: ConstOid = Oid(&[42, 134, 72, 206, 61, 3, 1, 7]);
37 
38 
39 pub const SIGNED_DATA: Oid<&[u8]>
40     = Oid(&[42, 134, 72, 134, 247, 13, 1, 7, 2]);
41 pub const CONTENT_TYPE: Oid<&[u8]>
42     = Oid(&[42, 134, 72, 134, 247, 13, 1, 9, 3]);
43 pub const PROTOCOL_CONTENT_TYPE: Oid<&[u8]>
44     = Oid(&[42, 134, 72, 134, 247, 13, 1, 9, 16, 1, 28]);
45 pub const MESSAGE_DIGEST: Oid<&[u8]>
46     = Oid(&[42, 134, 72, 134, 247, 13, 1, 9, 4]);
47 pub const SIGNING_TIME: Oid<&[u8]>
48     = Oid(&[42, 134, 72, 134, 247, 13, 1, 9, 5]);
49 pub const AA_BINARY_SIGNING_TIME: Oid<&[u8]> =
50     Oid(&[42, 134, 72, 134, 247, 13, 1, 9, 16, 2, 46]);
51 
52 
53 pub const AD_CA_ISSUERS: Oid<&[u8]> = Oid(&[43, 6, 1, 5, 5, 7, 48, 2]);
54 pub const AD_CA_REPOSITORY: Oid<&[u8]> = Oid(&[43, 6, 1, 5, 5, 7, 48, 5]);
55 pub const AD_RPKI_MANIFEST: Oid<&[u8]> = Oid(&[43, 6, 1, 5, 5, 7, 48, 10]);
56 pub const AD_RPKI_NOTIFY: Oid<&[u8]> = Oid(&[43, 6, 1, 5, 5, 7, 48, 13]);
57 pub const AD_SIGNED_OBJECT: Oid<&[u8]> = Oid(&[43, 6, 1, 5, 5, 7, 48, 11]);
58 
59 pub const AT_COMMON_NAME: Oid<&[u8]> = Oid(&[85, 4, 3]); // 2 5 4 3
60 pub const AT_SERIAL_NUMBER: Oid<&[u8]> = Oid(&[85, 4, 5]); // 2 5 4 5
61 
62 pub const CE_AUTHORITY_KEY_IDENTIFIER: Oid<&[u8]> = Oid(&[85, 29, 35]);
63 pub const CE_BASIC_CONSTRAINTS: Oid<&[u8]> = Oid(&[85, 29, 19]);
64 pub const CE_CERTIFICATE_POLICIES: Oid<&[u8]> = Oid(&[85, 29, 32]);
65 pub const CE_CRL_DISTRIBUTION_POINTS: Oid<&[u8]> = Oid(&[85, 29, 31]);
66 pub const CE_CRL_NUMBER: Oid<&[u8]> = Oid(&[85, 29, 20]);
67 pub const CE_EXTENDED_KEY_USAGE: Oid<&[u8]> = Oid(&[85, 29, 37]);
68 pub const CE_KEY_USAGE: Oid<&[u8]> = Oid(&[85, 29, 15]);
69 pub const CE_SUBJECT_KEY_IDENTIFIER: Oid<&[u8]> = Oid(&[85, 29, 14]);
70 
71 pub const CP_IPADDR_ASNUMBER: Oid<&[u8]> = Oid(&[43, 6, 1, 5, 5, 7, 14, 2]);
72 pub const CP_IPADDR_ASNUMBER_V2: Oid<&[u8]> = Oid(&[43, 6, 1, 5, 5, 7, 14, 3]);
73 
74 pub const CT_RPKI_MANIFEST: ConstOid
75     = Oid(&[42, 134, 72, 134, 247, 13, 1, 9, 16, 1, 26]);
76 pub const CT_RESOURCE_TAGGED_ATTESTATION: ConstOid
77     = Oid(&[42, 134, 72, 134, 247, 13, 1, 9, 16, 1, 36]);
78 pub const CT_ASPA: ConstOid
79     = Oid(&[42, 134, 72, 134, 247, 13, 1, 9, 16, 1, 49]);
80 
81 pub const KP_BGPSEC_ROUTER: ConstOid
82     = Oid(&[43, 6, 1, 5, 5, 7, 3, 30]);
83 
84 pub const PE_AUTHORITY_INFO_ACCESS: Oid<&[u8]>
85     = Oid(&[43, 6, 1, 5, 5, 7, 1, 1]);
86 pub const PE_IP_ADDR_BLOCK: Oid<&[u8]> = Oid(&[43, 6, 1, 5, 5, 7, 1, 7]);
87 pub const PE_IP_ADDR_BLOCK_V2: Oid<&[u8]> = Oid(&[43, 6, 1, 5, 5, 7, 1, 28]);
88 pub const PE_AUTONOMOUS_SYS_IDS: Oid<&[u8]>
89     = Oid(&[43, 6, 1, 5, 5, 7, 1, 8]);
90 pub const PE_AUTONOMOUS_SYS_IDS_V2: Oid<&[u8]>
91     = Oid(&[43, 6, 1, 5, 5, 7, 1, 29]);
92 pub const PE_SUBJECT_INFO_ACCESS: Oid<&[u8]>
93     = Oid(&[43, 6, 1, 5, 5, 7, 1, 11]);
94 
95 pub const ROUTE_ORIGIN_AUTHZ: ConstOid
96     = Oid(&[42, 134, 72, 134, 247, 13, 1, 9, 16, 1, 24]);
97 
98 /// [RFC 2985](https://tools.ietf.org/html/rfc2985) `extensionRequest`
99 pub const EXTENSION_REQUEST: ConstOid
100     = Oid(&[42, 134, 72, 134, 247, 13, 1, 9, 14]);
101 
102