OLD | NEW |
1 #!/bin/bash | 1 #!/bin/bash |
2 | 2 |
3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 # Script to generate padding.c containing PKCS 1.5 padding byte arrays for | 7 # Script to generate padding.c containing PKCS 1.5 padding byte arrays for |
8 # various combinations of RSA key lengths and message digest algorithms. | 8 # various combinations of RSA key lengths and message digest algorithms. |
9 | 9 |
10 Pad_Preamble="0x00,0x01" | 10 Pad_Preamble="0x00,0x01" |
(...skipping 30 matching lines...) Expand all Loading... |
41 /* | 41 /* |
42 * DO NOT MODIFY THIS FILE DIRECTLY. | 42 * DO NOT MODIFY THIS FILE DIRECTLY. |
43 * | 43 * |
44 * This file is automatically generated by genpadding.sh and contains padding | 44 * This file is automatically generated by genpadding.sh and contains padding |
45 * arrays corresponding to various combinations of algorithms for RSA signatures
. | 45 * arrays corresponding to various combinations of algorithms for RSA signatures
. |
46 */ | 46 */ |
47 | 47 |
48 EOF | 48 EOF |
49 | 49 |
50 | 50 |
51 echo '#include "rsa.h"' | 51 echo '#include "cryptolib.h"' |
52 echo '#include "sha.h"' | |
53 echo | 52 echo |
54 echo | 53 echo |
55 cat <<EOF | 54 cat <<EOF |
56 /* | 55 /* |
57 * PKCS 1.5 padding (from the RSA PKCS#1 v2.1 standard) | 56 * PKCS 1.5 padding (from the RSA PKCS#1 v2.1 standard) |
58 * | 57 * |
59 * Depending on the RSA key size and hash function, the padding is calculated | 58 * Depending on the RSA key size and hash function, the padding is calculated |
60 * as follows: | 59 * as follows: |
61 * | 60 * |
62 * 0x00 || 0x01 || PS || 0x00 || T | 61 * 0x00 || 0x01 || PS || 0x00 || T |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 for rsaalgo in ${RSAAlgos[@]} | 164 for rsaalgo in ${RSAAlgos[@]} |
166 do | 165 do |
167 for hashalgo in ${HashAlgos[@]} | 166 for hashalgo in ${HashAlgos[@]} |
168 do | 167 do |
169 echo ${rsaalgo}NUMBYTES - ${hashalgo}_DIGEST_SIZE, | 168 echo ${rsaalgo}NUMBYTES - ${hashalgo}_DIGEST_SIZE, |
170 done | 169 done |
171 done | 170 done |
172 echo "};" | 171 echo "};" |
173 echo | 172 echo |
174 | 173 |
| 174 # Generate signature algorithm to messge digest algorithm map. |
| 175 echo "const int hash_type_map[] = {" |
| 176 for rsaalgo in ${RSAAlgos[@]} |
| 177 do |
| 178 for hashalgo in ${HashAlgos[@]} |
| 179 do |
| 180 echo ${hashalgo}_DIGEST_ALGORITHM, |
| 181 done |
| 182 done |
| 183 echo "};" |
| 184 echo |
| 185 |
175 # Generate algorithm to message digest's output size map. | 186 # Generate algorithm to message digest's output size map. |
176 echo "const int hash_size_map[NUMALGORITHMS] = {" | 187 echo "const int hash_size_map[NUMALGORITHMS] = {" |
177 for rsaalgo in ${RSAAlgos[@]} | 188 for rsaalgo in ${RSAAlgos[@]} |
178 do | 189 do |
179 for hashalgo in ${HashAlgos[@]} | 190 for hashalgo in ${HashAlgos[@]} |
180 do | 191 do |
181 echo ${hashalgo}_DIGEST_SIZE, | 192 echo ${hashalgo}_DIGEST_SIZE, |
182 done | 193 done |
183 done | 194 done |
184 echo "};" | 195 echo "};" |
(...skipping 30 matching lines...) Expand all Loading... |
215 do | 226 do |
216 for hashalgo in ${HashAlgos[@]} | 227 for hashalgo in ${HashAlgos[@]} |
217 do | 228 do |
218 echo \"${rsaalgo} ${hashalgo}\", | 229 echo \"${rsaalgo} ${hashalgo}\", |
219 done | 230 done |
220 done | 231 done |
221 echo "};" | 232 echo "};" |
222 echo | 233 echo |
223 | 234 |
224 #echo "#endif /* VBOOT_REFERENCE_PADDING_H_ */" | 235 #echo "#endif /* VBOOT_REFERENCE_PADDING_H_ */" |
OLD | NEW |