Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Unified Diff: src/platform/vboot_reference/crypto/genpadding.sh

Issue 552227: Utility to output digests in format suitable for RSA signatures. (Closed)
Patch Set: Nit fixes. Created 10 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/platform/vboot_reference/crypto/padding.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/platform/vboot_reference/crypto/genpadding.sh
diff --git a/src/platform/vboot_reference/crypto/genpadding.sh b/src/platform/vboot_reference/crypto/genpadding.sh
index e51e457c230700533fdf0571ff909c8d88a901e4..304d4f822451a831f1d4b6d13f754929832ad8bf 100755
--- a/src/platform/vboot_reference/crypto/genpadding.sh
+++ b/src/platform/vboot_reference/crypto/genpadding.sh
@@ -9,11 +9,11 @@
Pad_Preamble="0x00,0x01"
-SHA1_Suffix="0x30,0x21,0x30,0x09,0x06,0x05,0x2b,0x0e,0x03,0x02,0x1a,0x05"\
+SHA1_digestinfo="0x30,0x21,0x30,0x09,0x06,0x05,0x2b,0x0e,0x03,0x02,0x1a,0x05"\
",0x00,0x04,0x14"
-SHA256_Suffix="0x30,0x31,0x30,0x0d,0x06,0x09,0x60,0x86,0x48,0x01,0x65,0x03"\
+SHA256_digestinfo="0x30,0x31,0x30,0x0d,0x06,0x09,0x60,0x86,0x48,0x01,0x65,0x03"\
",0x04,0x02,0x01,0x05,0x00,0x04,0x20"
-SHA512_Suffix="0x30,0x51,0x30,0x0d,0x06,0x09,0x60,0x86,0x48,0x01,0x65,0x03"\
+SHA512_digestinfo="0x30,0x51,0x30,0x0d,0x06,0x09,0x60,0x86,0x48,0x01,0x65,0x03"\
",0x04,0x02,0x03,0x05,0x00,0x04,0x40"
RSA1024_Len=128
@@ -95,8 +95,8 @@ do
echo -n $Pad_Preamble,
genFFOctets $nums
echo -n "0x00,"
- eval suffix=\$${hashalgo}_Suffix
- echo $suffix
+ eval digestinfo=\$${hashalgo}_digestinfo
+ echo $digestinfo
echo "};"
echo
done
@@ -106,7 +106,37 @@ echo "const int kNumAlgorithms = $algorithmcounter;";
echo "#define NUMALGORITHMS $algorithmcounter"
echo
-# Generate algorithm signature length map
+# Output DigestInfo field lengths.
+cat <<EOF
+#define SHA1_DIGESTINFO_LEN 15
+#define SHA256_DIGESTINFO_LEN 19
+#define SHA512_DIGESTINFO_LEN 19
+EOF
+
+
+# Generate DigestInfo arrays.
+for hashalgo in ${HashAlgos[@]}
+do
+ echo "const uint8_t ${hashalgo}_digestinfo[] = {"
+ eval digestinfo=\$${hashalgo}_digestinfo
+ echo $digestinfo
+ echo "};"
+ echo
+done
+
+# Generate DigestInfo to size map.
+echo "const int digestinfo_size_map[] = {"
+for rsaalgo in ${RSAAlgos[@]}
+do
+ for hashalgo in ${HashAlgos[@]}
+ do
+ echo ${hashalgo}_DIGESTINFO_LEN,
+ done
+done
+echo "};"
+echo
+
+# Generate algorithm signature length map.
echo "const int siglen_map[NUMALGORITHMS] = {"
for rsaalgo in ${RSAAlgos[@]}
do
@@ -118,7 +148,7 @@ done
echo "};"
echo
-# Generate algorithm padding array map
+# Generate algorithm padding array map.
echo "const uint8_t* padding_map[NUMALGORITHMS] = {"
for rsaalgo in ${RSAAlgos[@]}
do
@@ -130,7 +160,7 @@ done
echo "};"
echo
-# Generate algorithm padding size map
+# Generate algorithm padding size map.
echo "const int padding_size_map[NUMALGORITHMS] = {"
for rsaalgo in ${RSAAlgos[@]}
do
@@ -142,7 +172,19 @@ done
echo "};"
echo
-# Generate algorithm message digest's input block size.
+# Generate algorithm to message digest's output size map.
+echo "const int hash_size_map[NUMALGORITHMS] = {"
+for rsaalgo in ${RSAAlgos[@]}
+do
+ for hashalgo in ${HashAlgos[@]}
+ do
+ echo ${hashalgo}_DIGEST_SIZE,
+ done
+done
+echo "};"
+echo
+
+# Generate algorithm to message digest's input block size map.
echo "const int hash_blocksize_map[NUMALGORITHMS] = {"
for rsaalgo in ${RSAAlgos[@]}
do
@@ -154,6 +196,19 @@ done
echo "};"
echo
+# Generate algorithm to message's digest ASN.1 DigestInfo map.
+echo "const uint8_t* hash_digestinfo_map[NUMALGORITHMS] = {"
+for rsaalgo in ${RSAAlgos[@]}
+do
+ for hashalgo in ${HashAlgos[@]}
+ do
+ echo ${hashalgo}_digestinfo,
+ done
+done
+echo "};"
+echo
+
+
# Generate algorithm description strings.
echo "const char* algo_strings[NUMALGORITHMS] = {"
for rsaalgo in ${RSAAlgos[@]}
« no previous file with comments | « no previous file | src/platform/vboot_reference/crypto/padding.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698