Index: third_party/tlslite/patches/rsa_signature_length.patch |
diff --git a/third_party/tlslite/patches/rsa_signature_length.patch b/third_party/tlslite/patches/rsa_signature_length.patch |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5f936a5aab6da933478003e7d3982f3e5bc5b831 |
--- /dev/null |
+++ b/third_party/tlslite/patches/rsa_signature_length.patch |
@@ -0,0 +1,29 @@ |
+diff --git a/third_party/tlslite/tlslite/utils/RSAKey.py b/third_party/tlslite/tlslite/utils/RSAKey.py |
+index 37c292d..1b91742 100644 |
+--- a/third_party/tlslite/tlslite/utils/RSAKey.py |
++++ b/third_party/tlslite/tlslite/utils/RSAKey.py |
+@@ -117,7 +117,7 @@ class RSAKey: |
+ if m >= self.n: |
+ raise ValueError() |
+ c = self._rawPrivateKeyOp(m) |
+- sigBytes = numberToBytes(c) |
++ sigBytes = numberToBytes(c, numBytes(self.n)) |
+ return sigBytes |
+ |
+ def verify(self, sigBytes, bytes): |
+diff --git a/third_party/tlslite/tlslite/utils/cryptomath.py b/third_party/tlslite/tlslite/utils/cryptomath.py |
+index 385095d..86da25e 100644 |
+--- a/third_party/tlslite/tlslite/utils/cryptomath.py |
++++ b/third_party/tlslite/tlslite/utils/cryptomath.py |
+@@ -129,8 +129,9 @@ def bytesToNumber(bytes): |
+ multiplier *= 256 |
+ return total |
+ |
+-def numberToBytes(n): |
+- howManyBytes = numBytes(n) |
++def numberToBytes(n, howManyBytes=None): |
++ if howManyBytes == None: |
++ howManyBytes = numBytes(n) |
+ bytes = createByteArrayZeros(howManyBytes) |
+ for count in range(howManyBytes-1, -1, -1): |
+ bytes[count] = int(n % 256) |