diff --git a/ChangeLog.txt b/ChangeLog.txt index 7686d7ec..5a829cbc 100755 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,6 +1,10 @@ ChangeLog for jsrsasign +* Changes between 4.0.1 to 4.0.2 (2013-Jul-23) + - RSAPSS signing and validation fix by Dave(github.com/davedoesdev) + (base64x,crypto,rsasign) + * Changes between 4.0.0 to 4.0.1 - rsasign-1.2.js - small fix for PSS by Dave's contribution (github.com/davedoesdev) diff --git a/base64x-1.1.min.js b/base64x-1.1.min.js index d013cc9f..19011264 100755 --- a/base64x-1.1.min.js +++ b/base64x-1.1.min.js @@ -1,3 +1,3 @@ /*! base64x-1.1.2 (c) 2013 Kenji Urushima | kjur.github.com/jsjws/license */ -function Base64x(){}function stoBA(d){var b=new Array();for(var c=0;cd){throw"key is too short for SigAlg: keylen="+j+","+a}var b="0001";var k="00"+c;var g="";var l=d-b.length-k.length;for(var f=0;fd){throw"key is too short for SigAlg: keylen="+j+","+a}var b="0001";var k="00"+c;var g="";var l=d-b.length-k.length;for(var f=0;fFEATURES

NEWS

+
2013-Jul-23: +
Release 4.0.2 is now available. +
    +
  • RSAPSS signing and validation fix by Davegithub.com/davedoesdev)
  • +
+
2013-Jul-18:
Release 4.0.0 is now available.
    diff --git a/rsasign-1.2.min.js b/rsasign-1.2.min.js index d9885997..2e488675 100644 --- a/rsasign-1.2.min.js +++ b/rsasign-1.2.min.js @@ -1,3 +1,3 @@ /*! rsasign-1.2.3.js (c) 2012 Kenji Urushima | kjur.github.com/jsrsasign/license */ -var _RSASIGN_DIHEAD=[];_RSASIGN_DIHEAD.sha1="3021300906052b0e03021a05000414";_RSASIGN_DIHEAD.sha256="3031300d060960864801650304020105000420";_RSASIGN_DIHEAD.sha384="3041300d060960864801650304020205000430";_RSASIGN_DIHEAD.sha512="3051300d060960864801650304020305000440";_RSASIGN_DIHEAD.md2="3020300c06082a864886f70d020205000410";_RSASIGN_DIHEAD.md5="3020300c06082a864886f70d020505000410";_RSASIGN_DIHEAD.ripemd160="3021300906052b2403020105000414";var _RSASIGN_HASHHEXFUNC=[];_RSASIGN_HASHHEXFUNC.sha1=function(a){return KJUR.crypto.Util.sha1(a)};_RSASIGN_HASHHEXFUNC.sha256=function(a){return KJUR.crypto.Util.sha256(a)};_RSASIGN_HASHHEXFUNC.sha512=function(a){return KJUR.crypto.Util.sha512(a)};_RSASIGN_HASHHEXFUNC.md5=function(a){return KJUR.crypto.Util.md5(a)};_RSASIGN_HASHHEXFUNC.ripemd160=function(a){return KJUR.crypto.Util.ripemd160(a)};var _RE_HEXDECONLY=new RegExp("");_RE_HEXDECONLY.compile("[^0-9a-f]","gi");function _rsasign_getHexPaddedDigestInfoForString(l,f,b){var c=f/4;var h=_RSASIGN_HASHHEXFUNC[b];var d=h(l);var a="0001";var j="00"+_RSASIGN_DIHEAD[b]+d;var g="";var k=c-a.length-j.length;for(var e=0;e>24,(d&16711680)>>16,(d&65280)>>8,d&255]));d+=1}return b}function _rsasign_signStringPSS(r,a,k){var o=_RSASIGN_HASHHEXFUNC[a];var l=o(r);var b=hextorstr(l);var g=b.length;var m=this.n.bitLength()-1;var c=Math.ceil(m/8);var d;if(k===-1){k=g}else{if((k===-2)||(k===undefined)){k=c-g-2}else{if(k<-2){throw"invalid salt length"}}}if(c<(g+k+2)){throw"data too long"}var f="";if(k>0){f=new Array(k);new SecureRandom().nextBytes(f);f=String.fromCharCode.apply(String,f)}var n=hextorstr(o("\x00\x00\x00\x00\x00\x00\x00\x00"+b+f));var j=[];for(d=0;d>(8*c-m))&255;q[0]&=~p;for(d=0;dthis.n.bitLength()){return false}var s=_RSASIGN_HASHHEXFUNC[l];var f=s(o);var j=hextorstr(f);var h=j.length;var g=this.n.bitLength()-1;var m=Math.ceil(g/8);var r;if(c===-1){c=h}else{if((c===-2)||(c===undefined)){c=m-h-2}else{if(c<-2){throw"invalid salt length"}}}if(m<(h+c+2)){throw"data too long"}var a=this.doPublic(k).toByteArray();for(r=0;r>(8*m-g))&255;if((d.charCodeAt(0)&q)!==0){throw"bits beyond keysize not zero"}var n=pss_mgf1_str(e,d.length,s);var p=[];for(r=0;r>24,(d&16711680)>>16,(d&65280)>>8,d&255]))));d+=1}return b}function _rsasign_signStringPSS(r,a,k){var o=_RSASIGN_HASHHEXFUNC[a+"Hex"];var l=o(rstrtohex(r));var b=hextorstr(l);var g=b.length;var m=this.n.bitLength()-1;var c=Math.ceil(m/8);var d;if(k===-1){k=g}else{if((k===-2)||(k===undefined)){k=c-g-2}else{if(k<-2){throw"invalid salt length"}}}if(c<(g+k+2)){throw"data too long"}var f="";if(k>0){f=new Array(k);new SecureRandom().nextBytes(f);f=String.fromCharCode.apply(String,f)}var n=hextorstr(o(rstrtohex("\x00\x00\x00\x00\x00\x00\x00\x00"+b+f)));var j=[];for(d=0;d>(8*c-m))&255;q[0]&=~p;for(d=0;dthis.n.bitLength()){return false}var s=_RSASIGN_HASHHEXFUNC[l+"Hex"];var f=s(rstrtohex(o));var j=hextorstr(f);var h=j.length;var g=this.n.bitLength()-1;var m=Math.ceil(g/8);var r;if(c===-1){c=h}else{if((c===-2)||(c===undefined)){c=m-h-2}else{if(c<-2){throw"invalid salt length"}}}if(m<(h+c+2)){throw"data too long"}var a=this.doPublic(k).toByteArray();for(r=0;r>(8*m-g))&255;if((d.charCodeAt(0)&q)!==0){throw"bits beyond keysize not zero"}var n=pss_mgf1_str(e,d.length,s);var p=[];for(r=0;r