@@ -508,11 +508,15 @@ var msrCryptoVersion = "1.6.6";
508508 if ( ! ( array instanceof Array ) ) return false ;
509509 for ( var i = 0 ; i < array . length ; i ++ ) {
510510 var d = array [ i ] ;
511- if ( ! Number . isInteger ( d ) || d > 255 || d < 0 ) return false ;
511+ if ( ! isInteger ( d ) || d > 255 || d < 0 ) return false ;
512512 }
513513 return true ;
514514 }
515515
516+ function isInteger ( value ) {
517+ return typeof value === "number" && isFinite ( value ) && Math . floor ( value ) === value ;
518+ } ;
519+
516520 return {
517521 consoleLog : consoleLog ,
518522 toBase64 : toBase64 ,
@@ -536,7 +540,8 @@ var msrCryptoVersion = "1.6.6";
536540 getVector : getVector ,
537541 verifyByteArray : verifyByteArray ,
538542 error : error ,
539- isBytes : isBytes
543+ isBytes : isBytes ,
544+ isInteger : isInteger
540545 } ;
541546
542547 } ) ( ) ;
@@ -553,14 +558,14 @@ var msrCryptoVersion = "1.6.6";
553558 0x10 : "SEQUENCE" ,
554559 0x11 : "SET" ,
555560 0x13 : "PRINTABLE STRING" ,
556- 0x17 : "UTCTime" ,
561+ 0x17 : "UTCTime"
557562 } ;
558563
559564 var asn1Classes = {
560565 0x00 : "UNIVERSAL" ,
561566 0x01 : "APPLICATION" ,
562567 0x02 : "Context-Defined" ,
563- 0x03 : "PRIVATE" ,
568+ 0x03 : "PRIVATE"
564569 } ;
565570
566571 function parse ( bytes , force ) {
@@ -621,7 +626,7 @@ var msrCryptoVersion = "1.6.6";
621626
622627 if ( node . hasOwnProperty ( "INTEGER" ) ) {
623628 var val = node . INTEGER ;
624- if ( Number . isInteger ( val ) ) val = intToBytes ( val ) ;
629+ if ( msrcryptoUtilities . isInteger ( val ) ) val = intToBytes ( val ) ;
625630 if ( val [ 0 ] & 128 ) val . unshift ( 0 ) ;
626631 var result = [ INTEGER ] . concat ( encodeLength ( val ) , val ) ;
627632 return result ;
@@ -702,10 +707,10 @@ var msrCryptoVersion = "1.6.6";
702707
703708 function encodeOid ( text ) {
704709 var parts = text . split ( "." ) ;
705- var result = [ Number . parseInt ( parts [ 0 ] * 40 + Number . parseInt ( parts [ 1 ] ) ) ] ;
710+ var result = [ parseInt ( parts [ 0 ] * 40 + parseInt ( parts [ 1 ] ) ) ] ;
706711
707712 for ( var i = 2 ; i < parts . length ; i ++ ) {
708- var val = Number . parseInt ( parts [ i ] ) ;
713+ var val = parseInt ( parts [ i ] ) ;
709714
710715 var bytes = [ ] ;
711716 while ( val > 0 ) {
@@ -747,7 +752,7 @@ var msrCryptoVersion = "1.6.6";
747752 encode : encode ,
748753 toString : function ( objTree ) {
749754 return toString ( objTree , 0 ) ;
750- } ,
755+ }
751756 } ;
752757 } ) ( ) ;
753758
@@ -6107,7 +6112,7 @@ var msrCryptoVersion = "1.6.6";
61076112
61086113 return {
61096114 encrypt : encrypt ,
6110- decrypt : decrypt ,
6115+ decrypt : decrypt
61116116 } ;
61126117 } ;
61136118
@@ -6166,8 +6171,8 @@ var msrCryptoVersion = "1.6.6";
61666171 algorithm : p . algorithm ,
61676172 extractable : p . extractable ,
61686173 usages : null || p . usages ,
6169- type : "secret" ,
6170- } ,
6174+ type : "secret"
6175+ }
61716176 } ;
61726177 } ;
61736178
@@ -6196,9 +6201,9 @@ var msrCryptoVersion = "1.6.6";
61966201 algorithm : p . algorithm ,
61976202 extractable : p . extractable || keyObject . extractable ,
61986203 usages : null || p . usages ,
6199- type : "secret" ,
6204+ type : "secret"
62006205 } ,
6201- type : "keyImport" ,
6206+ type : "keyImport"
62026207 } ;
62036208 } ;
62046209
@@ -7406,7 +7411,7 @@ var msrCryptoVersion = "1.6.6";
74067411 }
74077412
74087413 var keyProps = [ "n" , "e" , "d" , "p" , "q" , "dp" , "dq" , "qi" ] ;
7409- keyObject = { }
7414+ keyObject = { } ;
74107415
74117416 for ( var i = 1 ; i < keySequence . length ; i ++ ) {
74127417 var int = keySequence [ i ] ;
@@ -7416,7 +7421,6 @@ var msrCryptoVersion = "1.6.6";
74167421 }
74177422 keyObject [ keyProps [ i - 1 ] ] = int ;
74187423 }
7419-
74207424 } else {
74217425 throw new Error ( "unsupported key import format." ) ;
74227426 }
@@ -7451,18 +7455,18 @@ var msrCryptoVersion = "1.6.6";
74517455 "OBJECT IDENTIFIER" : RSA_ENCRYPTION
74527456 } , {
74537457 NULL : 1
7454- } ] ,
7458+ } ]
74557459 } ,
74567460 {
74577461 "BIT STRING" : {
74587462 SEQUENCE : [ {
74597463 INTEGER : p . keyData . n
74607464 } , {
74617465 INTEGER : p . keyData . e
7462- } ] ,
7463- } ,
7464- } ,
7465- ] ,
7466+ } ]
7467+ }
7468+ }
7469+ ]
74667470 } ) ;
74677471
74687472 return {
@@ -7481,7 +7485,7 @@ var msrCryptoVersion = "1.6.6";
74817485 "OBJECT IDENTIFIER" : RSA_ENCRYPTION
74827486 } , {
74837487 NULL : 1
7484- } ] ,
7488+ } ]
74857489 } ,
74867490 {
74877491 "OCTET STRING" : {
@@ -7511,11 +7515,11 @@ var msrCryptoVersion = "1.6.6";
75117515 } ,
75127516 {
75137517 INTEGER : p . keyData . qi
7514- } ,
7515- ] ,
7516- } ,
7517- } ,
7518- ] ,
7518+ }
7519+ ]
7520+ }
7521+ }
7522+ ]
75197523 } ) ;
75207524
75217525 return {
@@ -8469,12 +8473,12 @@ var msrCryptoVersion = "1.6.6";
84698473 {
84708474 "OBJECT IDENTIFIER" : curveOid [ p . algorithm . namedCurve ]
84718475 }
8472- ] ,
8476+ ]
84738477 } ,
84748478 {
84758479 "BIT STRING" : [ 4 ] . concat ( p . keyData . x , p . keyData . y )
8476- } ,
8477- ] ,
8480+ }
8481+ ]
84788482 } ) ;
84798483
84808484 return {
@@ -8494,8 +8498,8 @@ var msrCryptoVersion = "1.6.6";
84948498 } ,
84958499 {
84968500 "OBJECT IDENTIFIER" : curveOid [ p . algorithm . namedCurve ]
8497- } ,
8498- ] ,
8501+ }
8502+ ]
84998503 } ,
85008504 {
85018505 "OCTET STRING" : {
@@ -8508,13 +8512,13 @@ var msrCryptoVersion = "1.6.6";
85088512 {
85098513 APPLICATION : [ {
85108514 "BIT STRING" : [ 4 ] . concat ( p . keyData . x , p . keyData . y )
8511- } , ] ,
8515+ } ] ,
85128516 tag : 1
8513- } ,
8514- ] ,
8515- } ,
8516- } ,
8517- ] ,
8517+ }
8518+ ]
8519+ }
8520+ }
8521+ ]
85188522 } ) ;
85198523
85208524 return {
@@ -8980,12 +8984,12 @@ var msrCryptoVersion = "1.6.6";
89808984 {
89818985 "OBJECT IDENTIFIER" : curveOid [ p . algorithm . namedCurve ]
89828986 }
8983- ] ,
8987+ ]
89848988 } ,
89858989 {
89868990 "BIT STRING" : [ 4 ] . concat ( p . keyData . x , p . keyData . y )
8987- } ,
8988- ] ,
8991+ }
8992+ ]
89898993 } ) ;
89908994
89918995 return {
@@ -9005,8 +9009,8 @@ var msrCryptoVersion = "1.6.6";
90059009 } ,
90069010 {
90079011 "OBJECT IDENTIFIER" : curveOid [ p . algorithm . namedCurve ]
9008- } ,
9009- ] ,
9012+ }
9013+ ]
90109014 } ,
90119015 {
90129016 "OCTET STRING" : {
@@ -9019,13 +9023,13 @@ var msrCryptoVersion = "1.6.6";
90199023 {
90209024 APPLICATION : [ {
90219025 "BIT STRING" : [ 4 ] . concat ( p . keyData . x , p . keyData . y )
9022- } , ] ,
9026+ } ] ,
90239027 tag : 1
9024- } ,
9025- ] ,
9026- } ,
9027- } ,
9028- ] ,
9028+ }
9029+ ]
9030+ }
9031+ }
9032+ ]
90299033 } ) ;
90309034
90319035 return {
0 commit comments