@@ -10,11 +10,50 @@ var UTIL = require('../../lib/util');
1010 ASSERT . equal ( ASN1 . oidToDer ( '1.2.840.113549' ) . toHex ( ) , '2a864886f70d' ) ;
1111 } ) ;
1212
13+ it ( 'should convert a 32b OID to DER' , function ( ) {
14+ ASSERT . equal ( ASN1 . oidToDer ( '1.2.4294967295' ) . toHex ( ) , '2a8fffffff7f' ) ;
15+ } ) ;
16+
17+ it ( 'should not convert a >32b OID to DER' , function ( ) {
18+ ASSERT . throws (
19+ function ( ) {
20+ ASN1 . oidToDer ( '1.2.4294967296' ) ;
21+ } ,
22+ / O I D v a l u e t o o l a r g e ; m a x i s 3 2 - b i t s ./
23+ ) ;
24+ } ) ;
25+
1326 it ( 'should convert an OID from DER' , function ( ) {
1427 var der = UTIL . hexToBytes ( '2a864886f70d' ) ;
1528 ASSERT . equal ( ASN1 . derToOid ( der ) , '1.2.840.113549' ) ;
1629 } ) ;
1730
31+ it ( 'should convert a 32b OID from DER' , function ( ) {
32+ var der = UTIL . hexToBytes ( '2a8fffffff7f' ) ;
33+ ASSERT . equal ( ASN1 . derToOid ( der ) , '1.2.4294967295' ) ;
34+ } ) ;
35+
36+ it ( 'should convert a >32b OID from DER' , function ( ) {
37+ var der = UTIL . hexToBytes ( '2a9080808001' ) ;
38+ ASSERT . equal ( ASN1 . derToOid ( der ) , '1.2.4294967297' ) ;
39+ } ) ;
40+
41+ it ( 'should convert a max safe int OID from DER' , function ( ) {
42+ var der = UTIL . hexToBytes ( '2a8fffffffffffff7f' ) ;
43+ ASSERT . equal ( ASN1 . derToOid ( der ) , '1.2.9007199254740991' ) ;
44+ } ) ;
45+
46+ it ( 'should not convert a >max safe int OID from DER' , function ( ) {
47+ ASSERT . throws (
48+ function ( ) {
49+ // '1.2.9007199254740992'
50+ var der = UTIL . hexToBytes ( '2a9080808080808000' ) ;
51+ console . log ( ASN1 . derToOid ( der ) ) ;
52+ } ,
53+ / O I D v a l u e t o o l a r g e ; m a x i s 5 3 - b i t s ./
54+ ) ;
55+ } ) ;
56+
1857 it ( 'should convert INTEGER 0 to DER' , function ( ) {
1958 ASSERT . equal ( ASN1 . integerToDer ( 0 ) . toHex ( ) , '00' ) ;
2059 } ) ;
0 commit comments