diff options
author | Kenny Root <kenny@the-b.org> | 2015-04-05 23:34:54 -0700 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2015-04-05 23:41:14 -0700 |
commit | 28b8406580e9c0565fc2090117bc06d5c28b79c2 (patch) | |
tree | 79df1d68fe485f0de14dccd980f32d1f05c73222 /src/com/trilead/ssh2/signature/ECDSASHA2Verify.java | |
parent | 149080bc7dcbdbe310e39891e6a9dff0ceec8e8b (diff) | |
download | connectbot-28b8406580e9c0565fc2090117bc06d5c28b79c2.tar.gz connectbot-28b8406580e9c0565fc2090117bc06d5c28b79c2.tar.bz2 connectbot-28b8406580e9c0565fc2090117bc06d5c28b79c2.zip |
ECDH there should be no negative bigint
Since the hash is over the canonical values of the agreed parameters
when the shared secret was encoded as a negative biginteger, the two
sides didn't agree. Make sure this doesn't occur by setting the bigint
signum to 1.
Change-Id: Ib0581cd7dc280dcce8cc3309d7102f8f5a444158
Diffstat (limited to 'src/com/trilead/ssh2/signature/ECDSASHA2Verify.java')
-rw-r--r-- | src/com/trilead/ssh2/signature/ECDSASHA2Verify.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/com/trilead/ssh2/signature/ECDSASHA2Verify.java b/src/com/trilead/ssh2/signature/ECDSASHA2Verify.java index f139cdf..7d8dd3e 100644 --- a/src/com/trilead/ssh2/signature/ECDSASHA2Verify.java +++ b/src/com/trilead/ssh2/signature/ECDSASHA2Verify.java @@ -294,8 +294,8 @@ public class ECDSASHA2Verify { System.arraycopy(sig, 4, rArray, 0, rLength); System.arraycopy(sig, 6 + rLength, sArray, 0, sLength); - BigInteger r = new BigInteger(rArray); - BigInteger s = new BigInteger(sArray); + BigInteger r = new BigInteger(1, rArray); + BigInteger s = new BigInteger(1, sArray); // Write the <r,s> to its own types writer. TypesWriter rsWriter = new TypesWriter(); |