diff options
Diffstat (limited to 'sshlib/src/test/java/com/trilead/ssh2/crypto/SimpleDERReaderTest.java')
-rw-r--r-- | sshlib/src/test/java/com/trilead/ssh2/crypto/SimpleDERReaderTest.java | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/sshlib/src/test/java/com/trilead/ssh2/crypto/SimpleDERReaderTest.java b/sshlib/src/test/java/com/trilead/ssh2/crypto/SimpleDERReaderTest.java new file mode 100644 index 0000000..3eaec20 --- /dev/null +++ b/sshlib/src/test/java/com/trilead/ssh2/crypto/SimpleDERReaderTest.java @@ -0,0 +1,67 @@ +package com.trilead.ssh2.crypto; + +import org.junit.Test; + +import java.io.IOException; + +import static org.junit.Assert.*; +import static org.hamcrest.CoreMatchers.*; + +/** + * Created by kenny on 12/25/15. + */ +public class SimpleDERReaderTest { + @Test + public void readLength_Extended_OverlyLongLength() throws Exception { + byte[] vector = new byte[] { + (byte) 0x85, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF + }; + SimpleDERReader reader = new SimpleDERReader(vector); + assertEquals(-1, reader.readLength()); + } + + @Test + public void readLength_Extended_TooLongForInt() throws Exception { + byte[] vector = new byte[] { + (byte) 0x84, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF + }; + SimpleDERReader reader = new SimpleDERReader(vector); + assertEquals(-1, reader.readLength()); + } + + @Test + public void readLength_Extended_Zero() throws Exception { + byte[] vector = new byte[] { + (byte) 0x80, (byte) 0x01 + }; + SimpleDERReader reader = new SimpleDERReader(vector); + assertEquals(-1, reader.readLength()); + } + + @Test + public void readLength_Extended_Valid() throws Exception { + byte[] vector = new byte[] { + (byte) 0x82, (byte) 0x05, (byte) 0xFF + }; + SimpleDERReader reader = new SimpleDERReader(vector); + assertEquals(0x5FF, reader.readLength()); + } + + @Test + public void readLength_Short_Zero() throws Exception { + byte[] vector = new byte[] { + (byte) 0x00 + }; + SimpleDERReader reader = new SimpleDERReader(vector); + assertEquals(0, reader.readLength()); + } + + @Test + public void readLength_Short_Regular() throws Exception { + byte[] vector = new byte[] { + (byte) 0x09 + }; + SimpleDERReader reader = new SimpleDERReader(vector); + assertEquals(9, reader.readLength()); + } +}
\ No newline at end of file |