Skip to content

Commit f90d131

Browse files
authored
const-oid: add STB (Belarus standards) OIDs (#1394)
1 parent cf96732 commit f90d131

12 files changed

Lines changed: 946 additions & 0 deletions

File tree

const-oid/oiddbgen/src/main.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,14 @@ const MDS: &[(&str, &str)] = &[
2727
("rfc8894", include_str!("../rfc8894.md")),
2828
// Created from: https://trustedcomputinggroup.org
2929
("tcgtpm", include_str!("../tcg-tpm.md")),
30+
// Created from: https://github.com/bcrypto
31+
("belt", include_str!("../stb/belt.asn")),
32+
("bign", include_str!("../stb/bign.asn")),
33+
("bpki", include_str!("../stb/bpki.asn")),
34+
("btok", include_str!("../stb/btok.asn")),
35+
("brng", include_str!("../stb/brng.asn")),
36+
("bash", include_str!("../stb/bash.asn")),
37+
("bake", include_str!("../stb/bake.asn"))
3038
];
3139

3240
// Bases defined in other places.

const-oid/oiddbgen/stb/bake.asn

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Bake-module-v1 {iso(1) member-body(2) by(112) 0 2 0 34 101 66 module(1) ver1(1)}
2+
DEFINITIONS ::=
3+
BEGIN
4+
bake OBJECT IDENTIFIER ::= {iso(1) member-body(2) by(112) 0 2 0 34 101 66}
5+
6+
bake-bmqv OBJECT IDENTIFIER ::= {bake 11}
7+
bake-bsts OBJECT IDENTIFIER ::= {bake 12}
8+
bake-bpace OBJECT IDENTIFIER ::= {bake 21}
9+
bake-dh OBJECT IDENTIFIER ::= {bake 31}
10+
bake-kdf OBJECT IDENTIFIER ::= {bake 101}
11+
bake-swu OBJECT IDENTIFIER ::= {bake 201}
12+
13+
bake-keys OBJECT IDENTIFIER ::= {bake keys(2)}
14+
bake-pubkey OBJECT IDENTIFIER ::= {bake-keys 1}
15+
END

const-oid/oiddbgen/stb/bash.asn

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
Bash-module-v2 {iso(1) member-body(2) by(112) 0 2 0 34 101 77 module(1) ver2(2)}
2+
DEFINITIONS ::=
3+
BEGIN
4+
IMPORTS
5+
bign
6+
FROM Bign-module-v2 {iso(1) member-body(2) by(112) 0 2 0 34 101 45
7+
module(1) ver2(2)};
8+
9+
bash OBJECT IDENTIFIER ::= {iso(1) member-body(2) by(112) 0 2 0 34 101 77}
10+
11+
bash256 OBJECT IDENTIFIER ::= {bash 11}
12+
bash384 OBJECT IDENTIFIER ::= {bash 12}
13+
bash512 OBJECT IDENTIFIER ::= {bash 13}
14+
bash-prg-hash2561 OBJECT IDENTIFIER ::= {bash 21}
15+
bash-prg-hash2562 OBJECT IDENTIFIER ::= {bash 22}
16+
bash-prg-hash3841 OBJECT IDENTIFIER ::= {bash 23}
17+
bash-prg-hash3842 OBJECT IDENTIFIER ::= {bash 24}
18+
bash-prg-hash5121 OBJECT IDENTIFIER ::= {bash 25}
19+
bash-prg-hash5122 OBJECT IDENTIFIER ::= {bash 26}
20+
bash-prg-ae1281 OBJECT IDENTIFIER ::= {bash 31}
21+
bash-prg-ae1282 OBJECT IDENTIFIER ::= {bash 32}
22+
bash-prg-ae1921 OBJECT IDENTIFIER ::= {bash 33}
23+
bash-prg-ae1922 OBJECT IDENTIFIER ::= {bash 34}
24+
bash-prg-ae2561 OBJECT IDENTIFIER ::= {bash 35}
25+
bash-prg-ae2562 OBJECT IDENTIFIER ::= {bash 36}
26+
bash-f OBJECT IDENTIFIER ::= {bash 101}
27+
28+
bign-with-bash256 OBJECT IDENTIFIER ::= {bign 13}
29+
bign-with-bash384 OBJECT IDENTIFIER ::= {bign 14}
30+
bign-with-bash512 OBJECT IDENTIFIER ::= {bign 15}
31+
bign-ibs-with-bash256 OBJECT IDENTIFIER ::= {bign 73}
32+
bign-ibs-with-bash384 OBJECT IDENTIFIER ::= {bign 74}
33+
bign-ibs-with-bash512 OBJECT IDENTIFIER ::= {bign 75}
34+
END

const-oid/oiddbgen/stb/belt.asn

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
Belt-module-v2 {iso(1) member-body(2) by(112) 0 2 0 34 101 31 module(1) ver2(2)}
2+
DEFINITIONS ::=
3+
BEGIN
4+
belt OBJECT IDENTIFIER ::= {iso(1) member-body(2) by(112) 0 2 0 34 101 31}
5+
6+
belt-block128 OBJECT IDENTIFIER ::= {belt 3}
7+
belt-block192 OBJECT IDENTIFIER ::= {belt 4}
8+
belt-block256 OBJECT IDENTIFIER ::= {belt 5}
9+
belt-wblock128 OBJECT IDENTIFIER ::= {belt 6}
10+
belt-wblock192 OBJECT IDENTIFIER ::= {belt 7}
11+
belt-wblock256 OBJECT IDENTIFIER ::= {belt 8}
12+
belt-compress OBJECT IDENTIFIER ::= {belt 9}
13+
belt-ecb128 OBJECT IDENTIFIER ::= {belt 11}
14+
belt-ecb192 OBJECT IDENTIFIER ::= {belt 12}
15+
belt-ecb256 OBJECT IDENTIFIER ::= {belt 13}
16+
belt-cbc128 OBJECT IDENTIFIER ::= {belt 21}
17+
belt-cbc192 OBJECT IDENTIFIER ::= {belt 22}
18+
belt-cbc256 OBJECT IDENTIFIER ::= {belt 23}
19+
belt-cfb128 OBJECT IDENTIFIER ::= {belt 31}
20+
belt-cfb192 OBJECT IDENTIFIER ::= {belt 32}
21+
belt-cfb256 OBJECT IDENTIFIER ::= {belt 33}
22+
belt-ctr128 OBJECT IDENTIFIER ::= {belt 41}
23+
belt-ctr192 OBJECT IDENTIFIER ::= {belt 42}
24+
belt-ctr256 OBJECT IDENTIFIER ::= {belt 43}
25+
belt-mac128 OBJECT IDENTIFIER ::= {belt 51}
26+
belt-mac192 OBJECT IDENTIFIER ::= {belt 52}
27+
belt-mac256 OBJECT IDENTIFIER ::= {belt 53}
28+
belt-dwp128 OBJECT IDENTIFIER ::= {belt 61}
29+
belt-dwp192 OBJECT IDENTIFIER ::= {belt 62}
30+
belt-dwp256 OBJECT IDENTIFIER ::= {belt 63}
31+
belt-che128 OBJECT IDENTIFIER ::= {belt 64}
32+
belt-che192 OBJECT IDENTIFIER ::= {belt 65}
33+
belt-che256 OBJECT IDENTIFIER ::= {belt 66}
34+
belt-kwp128 OBJECT IDENTIFIER ::= {belt 71}
35+
belt-kwp192 OBJECT IDENTIFIER ::= {belt 72}
36+
belt-kwp256 OBJECT IDENTIFIER ::= {belt 73}
37+
belt-hash OBJECT IDENTIFIER ::= {belt 81}
38+
belt-keyexpand OBJECT IDENTIFIER ::= {belt 91}
39+
belt-keyrep OBJECT IDENTIFIER ::= {belt 101}
40+
belt-bde128 OBJECT IDENTIFIER ::= {belt 111}
41+
belt-bde192 OBJECT IDENTIFIER ::= {belt 112}
42+
belt-bde256 OBJECT IDENTIFIER ::= {belt 113}
43+
belt-sde128 OBJECT IDENTIFIER ::= {belt 121}
44+
belt-sde192 OBJECT IDENTIFIER ::= {belt 122}
45+
belt-sde256 OBJECT IDENTIFIER ::= {belt 123}
46+
belt-fmt128 OBJECT IDENTIFIER ::= {belt 131}
47+
belt-fmt192 OBJECT IDENTIFIER ::= {belt 132}
48+
belt-fmt256 OBJECT IDENTIFIER ::= {belt 133}
49+
50+
IV ::= OCTET STRING (SIZE(16))
51+
KeyHeader ::= OCTET STRING (SIZE(16))
52+
KeyLevel ::= OCTET STRING (SIZE(12))
53+
END

const-oid/oiddbgen/stb/bign.asn

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
Bign-module-v2 {iso(1) member-body(2) by(112) 0 2 0 34 101 45 module(1) ver2(2)}
2+
DEFINITIONS ::=
3+
BEGIN
4+
bign OBJECT IDENTIFIER ::= {iso(1) member-body(2) by(112) 0 2 0 34 101 45}
5+
6+
bign-with-hspec OBJECT IDENTIFIER ::= {bign 11}
7+
bign-with-hbelt OBJECT IDENTIFIER ::= {bign 12}
8+
bign-genec OBJECT IDENTIFIER ::= {bign 21}
9+
bign-valec OBJECT IDENTIFIER ::= {bign 22}
10+
bign-genkeypair OBJECT IDENTIFIER ::= {bign 31}
11+
bign-valpubkey OBJECT IDENTIFIER ::= {bign 32}
12+
bign-keytransport OBJECT IDENTIFIER ::= {bign 41}
13+
bign-genk OBJECT IDENTIFIER ::= {bign 61}
14+
bign-ibs-with-hspec OBJECT IDENTIFIER ::= {bign 71}
15+
bign-ibs-with-hbelt OBJECT IDENTIFIER ::= {bign 72}
16+
17+
bign-keys OBJECT IDENTIFIER ::= {bign keys(2)}
18+
bign-pubkey OBJECT IDENTIFIER ::= {bign-keys 1}
19+
20+
bign-curves OBJECT IDENTIFIER ::= {bign curves(3)}
21+
bign-curve256v1 OBJECT IDENTIFIER ::= {bign-curves 1}
22+
bign-curve384v1 OBJECT IDENTIFIER ::= {bign-curves 2}
23+
bign-curve512v1 OBJECT IDENTIFIER ::= {bign-curves 3}
24+
25+
bign-fields OBJECT IDENTIFIER ::= {bign fields(4)}
26+
bign-primefield OBJECT IDENTIFIER ::= {bign-fields prime(1)}
27+
28+
AlgorithmIdentifier ::= SEQUENCE {
29+
algorithm OBJECT IDENTIFIER,
30+
parameters ANY DEFINED BY algorithm OPTIONAL
31+
}
32+
33+
DomainParameters ::= CHOICE {
34+
specified ECParameters,
35+
named OBJECT IDENTIFIER,
36+
implicit NULL
37+
}
38+
39+
ECParameters ::= SEQUENCE {
40+
version INTEGER {ecpVer1(1)} (ecpVer1),
41+
fieldID FieldID,
42+
curve Curve,
43+
base OCTET STRING (SIZE(32|48|64)),
44+
order INTEGER,
45+
cofactor INTEGER (1) OPTIONAL
46+
}
47+
48+
FieldID ::= SEQUENCE {
49+
fieldType OBJECT IDENTIFIER (bign-primefield),
50+
parameters INTEGER
51+
}
52+
53+
Curve ::= SEQUENCE {
54+
a OCTET STRING (SIZE(32|48|64)),
55+
b OCTET STRING (SIZE(32|48|64)),
56+
seed BIT STRING (SIZE(64))
57+
}
58+
59+
PublicKey ::= BIT STRING (SIZE(512|768|1024))
60+
61+
SubjectPublicKeyInfo ::= SEQUENCE {
62+
algorithm AlgorithmIdentifier,
63+
subjectPublicKey PublicKey
64+
}
65+
66+
Signature ::= BIT STRING (SIZE(384|576|768))
67+
SignatureValue ::= OCTET STRING (SIZE(48|72|96))
68+
IdSignatureValue ::= OCTET STRING (SIZE(112|168|224))
69+
END

const-oid/oiddbgen/stb/bpki.asn

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
Bpki-module-v1 {iso(1) member-body(2) by(112) 0 2 0 34 101 78 module(1) ver1(1)}
2+
DEFINITIONS ::=
3+
BEGIN
4+
IMPORTS
5+
CRLReason, Name
6+
FROM PKIX1Explicit88 {iso(1) identified-organization(3)
7+
dod(6) internet(1) security(5) mechanisms(5) pkix(7)
8+
id-mod(0) id-pkix1-explicit-88(1)}
9+
PKIStatusInfo
10+
FROM PKIXTSP {iso(1) identified-organization(3) dod(6) internet(1)
11+
security(5) mechanisms(5) pkix(7) id-mod(0) id-mod-tsp(13)}
12+
belt-keywrap256
13+
FROM Belt-module-v1 {iso(1) member-body(2) by(112) 0 2 0 34 101 31 1 1}
14+
bign-pubkey, bign-curve256v1, bign-curve384v1, bign-curve512v1
15+
FROM Bign-module-v2 {iso(1) member-body(2) by(112) 0 2 0 34 101 45 1 2}
16+
hmac-hbelt
17+
FROM Brng-module-v2 {iso(1) member-body(2) by(112) 0 2 0 34 101 47 1 2}
18+
bels-share, bels-m0128v1, bels-m0192v1, bels-m0256v1
19+
FROM Bels-module-v2 {iso(1) member-body(2) by(112) 0 2 0 34 101 60 1 2}
20+
id-PBKDF2, id-PBES2
21+
FROM PKCS5v2-1 {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
22+
pkcs-5(5) modules(16) pkcs5v2-1(2)};
23+
24+
bpki OBJECT IDENTIFIER ::= {iso(1) member-body(2) by(112) 0 2 0 34 101 78}
25+
26+
bpki-role OBJECT IDENTIFIER ::= {bpki 2}
27+
bpki-role-ca0 OBJECT IDENTIFIER ::= {bpki-role 0}
28+
bpki-role-ca1 OBJECT IDENTIFIER ::= {bpki-role 1}
29+
bpki-role-ca2 OBJECT IDENTIFIER ::= {bpki-role 2}
30+
bpki-role-aa OBJECT IDENTIFIER ::= {bpki-role 10}
31+
bpki-role-ra OBJECT IDENTIFIER ::= {bpki-role 20}
32+
bpki-role-ocsp OBJECT IDENTIFIER ::= {bpki-role 30}
33+
bpki-role-tsa OBJECT IDENTIFIER ::= {bpki-role 31}
34+
bpki-role-dvcs OBJECT IDENTIFIER ::= {bpki-role 32}
35+
bpki-role-ids OBJECT IDENTIFIER ::= {bpki-role 33}
36+
bpki-role-tls OBJECT IDENTIFIER ::= {bpki-role 50}
37+
-- natural persons
38+
bpki-role-np OBJECT IDENTIFIER ::= {bpki-role 60}
39+
-- foreign natural persons
40+
bpki-role-fnp OBJECT IDENTIFIER ::= {bpki-role 61}
41+
-- legal representatives
42+
bpki-role-lr OBJECT IDENTIFIER ::= {bpki-role 62}
43+
-- autonomous cryptographic devices
44+
bpki-role-acd OBJECT IDENTIFIER ::= {bpki-role 70}
45+
46+
-- extended key usage
47+
bpki-eku OBJECT IDENTIFIER ::= {bpki 3}
48+
-- server of Terminal Mode
49+
bpki-eku-serverTM OBJECT IDENTIFIER ::= {bpki-eku 1}
50+
-- client of Terminal Mode
51+
bpki-eku-clientTM OBJECT IDENTIFIER ::= {bpki-eku 2}
52+
53+
-- attributes
54+
bpki-at OBJECT IDENTIFIER ::= {bpki 4}
55+
-- certificate validity period
56+
bpki-at-certificateValidity OBJECT IDENTIFIER ::= {bpki-at 1}
57+
58+
-- content types
59+
bpki-ct OBJECT IDENTIFIER ::= {bpki 5}
60+
bpki-ct-enroll1-req OBJECT IDENTIFIER ::= {bpki-ct 1}
61+
bpki-ct-enroll2-req OBJECT IDENTIFIER ::= {bpki-ct 2}
62+
bpki-ct-reenroll-req OBJECT IDENTIFIER ::= {bpki-ct 3}
63+
bpki-ct-spawn-req OBJECT IDENTIFIER ::= {bpki-ct 4}
64+
bpki-ct-setpwd-req OBJECT IDENTIFIER ::= {bpki-ct 5}
65+
bpki-ct-revoke-req OBJECT IDENTIFIER ::= {bpki-ct 6}
66+
bpki-ct-resp OBJECT IDENTIFIER ::= {bpki-ct 7}
67+
68+
BPKIRevokeReq ::= SEQUENCE {
69+
issuer Name,
70+
serialNumber INTEGER,
71+
revokePwd UTF8String,
72+
reasonCode CRLReason,
73+
invalidityDate GeneralizedTime OPTIONAL,
74+
comment UTF8String OPTIONAL }
75+
76+
BPKIResp ::= SEQUENCE {
77+
statusInfo PKIStatusInfo,
78+
requestId OCTET STRING(SIZE(32)),
79+
nonce OCTET STRING(SIZE(8)) OPTIONAL }
80+
81+
BPKIRetrieveReq ::= SEQUENCE {
82+
requestId OCTET STRING(SIZE(32)),
83+
nonce OCTET STRING(SIZE(8)) }
84+
85+
PrivateKeyInfo ::= SEQUENCE {
86+
version INTEGER(0),
87+
keyAlgorithm CHOICE {
88+
bignPrivkeyAlgorithm BignAlgorithmIdentifier,
89+
belsSharekeyAlgorithm BelsAlgorithmIdentifier },
90+
key OCTET STRING }
91+
92+
BignAlgorithmIdentifier ::= SEQUENCE {
93+
algorithm OBJECT IDENTIFIER(bign-pubkey),
94+
params OBJECT IDENTIFIER(bign-curve256v1 | bign-curve384v1 |
95+
bign-curve512v1) }
96+
97+
BelsAlgorithmIdentifier ::= SEQUENCE {
98+
algorithm OBJECT IDENTIFIER(bels-share),
99+
params OBJECT IDENTIFIER(bels-m0128v1 | bels-m0192v1 | bels-m0256v1) }
100+
101+
EncryptedPrivateKeyInfo ::= SEQUENCE {
102+
encryptionAlgorithm EncryptionAlgorithmIdentifier,
103+
encryptedData OCTET STRING }
104+
105+
EncryptionAlgorithmIdentifier ::= SEQUENCE {
106+
algorithm OBJECT IDENTIFIER(id-PBES2),
107+
params PBES2-params }
108+
109+
PBES2-params ::= SEQUENCE {
110+
keyDerivationFunc PBKDF2AlgorithmIdentifier,
111+
encryptionScheme BeltKeywrapAlgorithmIdentifier }
112+
113+
PBKDF2AlgorithmIdentifier ::= SEQUENCE {
114+
algorithm OBJECT IDENTIFIER(id-PBKDF2),
115+
params PBKDF2-params }
116+
117+
BeltKeywrapAlgorithmIdentifier ::= SEQUENCE {
118+
algorithm OBJECT IDENTIFIER(belt-keywrap256),
119+
params NULL }
120+
121+
PBKDF2-params ::= SEQUENCE {
122+
salt OCTET STRING(SIZE(8)),
123+
iterationCount INTEGER (10000..MAX),
124+
prf PrfAlgorithmIdentifier }
125+
126+
PrfAlgorithmIdentifier ::= SEQUENCE {
127+
algorithm OBJECT IDENTIFIER(hmac-hbelt),
128+
params NULL }
129+
END

const-oid/oiddbgen/stb/brng.asn

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Brng-module-v2 {iso(1) member-body(2) by(112) 0 2 0 34 101 47 module(1) ver2(2)}
2+
DEFINITIONS ::=
3+
BEGIN
4+
brng OBJECT IDENTIFIER ::= {1 2 112 0 2 0 34 101 47}
5+
6+
hmac-hspec OBJECT IDENTIFIER ::= {brng 11}
7+
hmac-hbelt OBJECT IDENTIFIER ::= {brng 12}
8+
brng-ctr-hspec OBJECT IDENTIFIER ::= {brng 21}
9+
brng-ctr-hbelt OBJECT IDENTIFIER ::= {brng 22}
10+
brng-ctr-stb11761 OBJECT IDENTIFIER ::= {brng 23}
11+
brng-hmac-hspec OBJECT IDENTIFIER ::= {brng 31}
12+
brng-hmac-hbelt OBJECT IDENTIFIER ::= {brng 32}
13+
14+
hotp-hspec OBJECT IDENTIFIER ::= {brng 111}
15+
hotp-hbelt OBJECT IDENTIFIER ::= {brng 112}
16+
totp-hspec OBJECT IDENTIFIER ::= {brng 121}
17+
totp-hbelt OBJECT IDENTIFIER ::= {brng 122}
18+
ocra-hspec OBJECT IDENTIFIER ::= {brng 131}
19+
ocra-hbelt OBJECT IDENTIFIER ::= {brng 132}
20+
END

0 commit comments

Comments
 (0)