summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/objects/obj_xref.h
diff options
context:
space:
mode:
authortb <>2023-07-22 18:32:05 +0000
committertb <>2023-07-22 18:32:05 +0000
commit2b1933408aa0e5cad4486c6862c788a70c48670e (patch)
tree23b647d507fee13df5656ab54ae6c84c29cbbddf /src/lib/libcrypto/objects/obj_xref.h
parent4244536f1a2e55a7e32d35ed15ac7a8fe4989fd5 (diff)
downloadopenbsd-2b1933408aa0e5cad4486c6862c788a70c48670e.tar.gz
openbsd-2b1933408aa0e5cad4486c6862c788a70c48670e.tar.bz2
openbsd-2b1933408aa0e5cad4486c6862c788a70c48670e.zip
Rewrite obj_xref.c
Instead of having two unreadable tables placed in a header generated by a janky perl script from an ugly text file, use a single table inlined in the C file. This table is used to translate between signature algorithm OIDs and pairs of OIDs of a message digest and a cipher. The table has fewer than fifty entries and isn't used in a hot path. Using binary search is overkill. Just do two linear searches, one for each translation. None of the original code remains apart from the API. ok jsing
Diffstat (limited to 'src/lib/libcrypto/objects/obj_xref.h')
-rw-r--r--src/lib/libcrypto/objects/obj_xref.h115
1 files changed, 0 insertions, 115 deletions
diff --git a/src/lib/libcrypto/objects/obj_xref.h b/src/lib/libcrypto/objects/obj_xref.h
deleted file mode 100644
index bff8c68573..0000000000
--- a/src/lib/libcrypto/objects/obj_xref.h
+++ /dev/null
@@ -1,115 +0,0 @@
1/* $OpenBSD: obj_xref.h,v 1.7 2023/06/15 17:58:27 tb Exp $ */
2/* AUTOGENERATED BY objxref.pl, DO NOT EDIT */
3
4__BEGIN_HIDDEN_DECLS
5
6typedef struct
7 {
8 int sign_id;
9 int hash_id;
10 int pkey_id;
11 } nid_triple;
12
13static const nid_triple sigoid_srt[] =
14 {
15 {NID_md2WithRSAEncryption, NID_md2, NID_rsaEncryption},
16 {NID_md5WithRSAEncryption, NID_md5, NID_rsaEncryption},
17 {NID_shaWithRSAEncryption, NID_sha, NID_rsaEncryption},
18 {NID_sha1WithRSAEncryption, NID_sha1, NID_rsaEncryption},
19 {NID_dsaWithSHA, NID_sha, NID_dsa},
20 {NID_dsaWithSHA1_2, NID_sha1, NID_dsa_2},
21 {NID_mdc2WithRSA, NID_mdc2, NID_rsaEncryption},
22 {NID_md5WithRSA, NID_md5, NID_rsa},
23 {NID_dsaWithSHA1, NID_sha1, NID_dsa},
24 {NID_sha1WithRSA, NID_sha1, NID_rsa},
25 {NID_ripemd160WithRSA, NID_ripemd160, NID_rsaEncryption},
26 {NID_md4WithRSAEncryption, NID_md4, NID_rsaEncryption},
27 {NID_ecdsa_with_SHA1, NID_sha1, NID_X9_62_id_ecPublicKey},
28 {NID_sha256WithRSAEncryption, NID_sha256, NID_rsaEncryption},
29 {NID_sha384WithRSAEncryption, NID_sha384, NID_rsaEncryption},
30 {NID_sha512WithRSAEncryption, NID_sha512, NID_rsaEncryption},
31 {NID_sha224WithRSAEncryption, NID_sha224, NID_rsaEncryption},
32 {NID_ecdsa_with_Recommended, NID_undef, NID_X9_62_id_ecPublicKey},
33 {NID_ecdsa_with_Specified, NID_undef, NID_X9_62_id_ecPublicKey},
34 {NID_ecdsa_with_SHA224, NID_sha224, NID_X9_62_id_ecPublicKey},
35 {NID_ecdsa_with_SHA256, NID_sha256, NID_X9_62_id_ecPublicKey},
36 {NID_ecdsa_with_SHA384, NID_sha384, NID_X9_62_id_ecPublicKey},
37 {NID_ecdsa_with_SHA512, NID_sha512, NID_X9_62_id_ecPublicKey},
38 {NID_dsa_with_SHA224, NID_sha224, NID_dsa},
39 {NID_dsa_with_SHA256, NID_sha256, NID_dsa},
40 {NID_id_GostR3411_94_with_GostR3410_2001, NID_id_GostR3411_94, NID_id_GostR3410_2001},
41 {NID_id_GostR3411_94_with_GostR3410_94, NID_id_GostR3411_94, NID_id_GostR3410_94},
42 {NID_id_GostR3411_94_with_GostR3410_94_cc, NID_id_GostR3411_94, NID_id_GostR3410_94_cc},
43 {NID_id_GostR3411_94_with_GostR3410_2001_cc, NID_id_GostR3411_94, NID_id_GostR3410_2001_cc},
44 {NID_rsassaPss, NID_undef, NID_rsaEncryption},
45 {NID_id_tc26_signwithdigest_gost3410_2012_256, NID_id_tc26_gost3411_2012_256, NID_id_GostR3410_2001},
46 {NID_id_tc26_signwithdigest_gost3410_2012_512, NID_id_tc26_gost3411_2012_512, NID_id_GostR3410_2001},
47 {NID_Ed25519, NID_undef, NID_Ed25519},
48 {NID_dhSinglePass_stdDH_sha1kdf_scheme, NID_sha1, NID_dh_std_kdf},
49 {NID_dhSinglePass_stdDH_sha224kdf_scheme, NID_sha224, NID_dh_std_kdf},
50 {NID_dhSinglePass_stdDH_sha256kdf_scheme, NID_sha256, NID_dh_std_kdf},
51 {NID_dhSinglePass_stdDH_sha384kdf_scheme, NID_sha384, NID_dh_std_kdf},
52 {NID_dhSinglePass_stdDH_sha512kdf_scheme, NID_sha512, NID_dh_std_kdf},
53 {NID_dhSinglePass_cofactorDH_sha1kdf_scheme, NID_sha1, NID_dh_cofactor_kdf},
54 {NID_dhSinglePass_cofactorDH_sha224kdf_scheme, NID_sha224, NID_dh_cofactor_kdf},
55 {NID_dhSinglePass_cofactorDH_sha256kdf_scheme, NID_sha256, NID_dh_cofactor_kdf},
56 {NID_dhSinglePass_cofactorDH_sha384kdf_scheme, NID_sha384, NID_dh_cofactor_kdf},
57 {NID_dhSinglePass_cofactorDH_sha512kdf_scheme, NID_sha512, NID_dh_cofactor_kdf},
58 {NID_RSA_SHA3_224, NID_sha3_224, NID_rsaEncryption},
59 {NID_RSA_SHA3_256, NID_sha3_256, NID_rsaEncryption},
60 {NID_RSA_SHA3_384, NID_sha3_384, NID_rsaEncryption},
61 {NID_RSA_SHA3_512, NID_sha3_512, NID_rsaEncryption},
62 };
63
64static const nid_triple * const sigoid_srt_xref[] =
65 {
66 &sigoid_srt[29],
67 &sigoid_srt[18],
68 &sigoid_srt[17],
69 &sigoid_srt[32],
70 &sigoid_srt[0],
71 &sigoid_srt[1],
72 &sigoid_srt[7],
73 &sigoid_srt[2],
74 &sigoid_srt[4],
75 &sigoid_srt[3],
76 &sigoid_srt[9],
77 &sigoid_srt[5],
78 &sigoid_srt[8],
79 &sigoid_srt[12],
80 &sigoid_srt[33],
81 &sigoid_srt[38],
82 &sigoid_srt[6],
83 &sigoid_srt[10],
84 &sigoid_srt[11],
85 &sigoid_srt[13],
86 &sigoid_srt[24],
87 &sigoid_srt[20],
88 &sigoid_srt[35],
89 &sigoid_srt[40],
90 &sigoid_srt[14],
91 &sigoid_srt[21],
92 &sigoid_srt[36],
93 &sigoid_srt[41],
94 &sigoid_srt[15],
95 &sigoid_srt[22],
96 &sigoid_srt[37],
97 &sigoid_srt[42],
98 &sigoid_srt[16],
99 &sigoid_srt[23],
100 &sigoid_srt[19],
101 &sigoid_srt[34],
102 &sigoid_srt[39],
103 &sigoid_srt[25],
104 &sigoid_srt[26],
105 &sigoid_srt[27],
106 &sigoid_srt[28],
107 &sigoid_srt[30],
108 &sigoid_srt[31],
109 &sigoid_srt[43],
110 &sigoid_srt[44],
111 &sigoid_srt[45],
112 &sigoid_srt[46],
113 };
114
115__END_HIDDEN_DECLS