
ChangeLog for jsrsasign

* Changes between 4.2.1 to 4.2.2 (2014-Apr-19)
  - asn1x509 1.0.7 to 1.0.8
    - add setSignatureHex method for Certificate class
    - modify newCertPEM method to support to specify signature
      by value.
    - add AuthorityKeyIdentifier X.509v3 extension class
  - keyutil 1.0.4 to 1.0.5
    - PKCS#10 CSR support. Following methods are added:
      - PKCS5PKEY.getKeyFromCSRPEM
      - PKCS5PKEY.getKeyFromCSRHex
      - PKCS5PKEY.parseCSRHex
  - Tool:
    - tool_forfact.html:
      CSR to fake certificate converter for factorable.net
      key weakness check.
  - Test codes:
    - add test/qunit-do-keyutil-csr.html

* Changes between 4.2.0 to 4.2.1 (2013-Oct-11)
  - keyutil 1.0.3 to 1.0.4
    - new getPEM method for exporting keys
    - exporting PKCS#8 encrypted private key also supported.
    - DES-CBC support for PKCS#5 encrypted private key
    - additional DSA support
    - make old methods are marked as deprecated.

* Changes between 4.1.6 to 4.2.0 (2013-Oct-06)
  - DSA support added to most of classes.
  - now RSAKey/KJUR.crypto.{ECDSA,DSA} class has new properties
    isPrivate and isPublic
  - asn1x509 1.0.5 to 1.0.6
    - new X509Util.newCertPEM method is added to provate
      easy certificate issuance by JSON object.
    - DSA/ECDSA support added to Signature, TBSCertificate, 
      AlgorithmIdentifier and SubjectPublicKeyInfo classes
  - keyutil 1.0.2 to 1.0.3
    - provide support for DSA
      - getKey
      - getKeyFromPublicPKCS8Hex,parsePublicPKCS8Hex
  - x509 1.1.1 to 1.1.2
    - ECDSA,DSA support added in X509.getPublicKeyFromCertPEM
  - dsa-modified 1.0.0 to 1.0.1
    - method setPrivateKey, setPublicKey are changed to
      setPrivate and setPublic respectively to align RSA/ECDSA class.

* Changes between 4.1.5 to 4.1.6 (2013-Oct-02)
  - newly dsa-modified 1.0.0 added
    - This is a DSA algorithm ported from github.com/openpgpjs
    - However Signature and KEYUTIL doesn't support DSA yet.
  - asn1 1.0.3 to 1.0.4
    - ASN1Util.jsonToASN1HEX method added.
  - asn1hex 1.1.3 to 1.1.4
    - ASN1HEX.getVbyList with tag checking method added.
  - keyutil 1.0.1 to 1.0.2
    - fix typo in newEncryptedPKCS5PEM method.

* Changes between 4.1.4 to 4.1.5 (2013-Sep-29)
  - keyutil 1.0.0 to 1.0.1
    - new generateKeypair method added
    - fix getKey method
  - add LICENSE file for YUI.
  - name jsrsasign-4.1.4-all-min.js is the same but updated.

* Changes between 4.1.3 to 4.1.4 (2013-Sep-24)
  - ext/cryptojs-312-core-fix*.js added to fix HmacSHA224/384 issue.
    Please use 
      'http://kjur.github.io/jsrsasign/ext/cryptojs-312-core-fix.js' or 
      'http://kjur.github.io/jsrsasign/ext/cryptojs-312-core-fix-min.js' or 
      'http://kjur.github.io/jsrsasign/jsrsasign-4.1.4-all-min.js'
    instead of orignal 'core.js' of CryptoJS.

* Changes between 4.1.2 to 4.1.3 (2013-Sep-23)
  - keyutil 1.0.0
    - PKCS5PKEY class is moved to KEYUTIL class.
      PKCS5PKEY is now deprecated and backward compatibility purpose only.
    - KEYUTIL.getKey() method added to private more generic access to
      private and public keys.
  - asn1 1.0.3 to 1.0.4
    - ASN1Util.newObject method now supports more simple 
      representation of tagged object like:
      newObject({tag: ['a1', true, {seq: [{int: 3}, {int: 4}]}]});
  - ext/base64.js
      fix for "var v;" for strict

* Changes between 4.1.1 to 4.1.2 (2013-Sep-12)
  - asn1 1.0.2 to 1.0.3
    - new method ASN1Util.newObject added.
  - all in one script 'jsrsasign-4.1.2-all-min.js' added.

* Changes between 4.1.0 to 4.1.1 (2013-Aug-27)
  - crypto 1.1.3 to 1.1.4
    - add hmacmd5, hmacripemd160 support and test code
  - ecdsa-modified 1.0.2 to 1.0.3
    - new static method added
      - parseSigHex
      - parseSigHexInHexRS
      - asn1SigToConcatSig
      - concatSigToASN1Sig
      - hexRSSigToASN1Sig
      - biRSSigToASN1Sig
  - all QUnit test code is moved for latest QUnit 1.12

* Changes between 4.0.5 to 4.1.0 (2013-Aug-25)
  - crypto 1.1.2 to 1.1.3
    - RSAPSS(*withRSAandMGF1) support in Signature class
    - powerful init method to specify any type of key and
      certificate and automatic initialization.
    - KJUR.crypto.OID class added for OID and hex conversion
  - pkcs5pkey 1.0.4 to 1.0.5
    - to support for KJUR.crypto.ECDSA:
      - getKeyFromEncryptedPKCS8PEM, parsePlainPrivetePKCS8Hex,
        getKeyFromPublicPKCS8PEM, getKeyFromPublicPKCS8Hex,
        parsePublicRawRSAKeyHex, parsePrivateRawRSAKeyHexAtObj,
        parsePrivateRawECKeyHexAtObj and parsePublicPKCS8Hex
        method added.
  - rsasign 1.2.5 to 1.2.7
    - RSAPSS saltlen default was changed from -2 to -1
    - add API document description about PSS salt length.
    - signWithMessageHashPSS, verifyWithMessageHashPSS 
      method added.
  - ecdsa-modified 1.0.1 to 1.0.2
    - method setNamedCurve, setPrivateKeyHex, setPublicKeyHex added
    - sign/verifyWithMessageHash method added to align RSAKey class
  - x509 1.1.0 to 1.1.1
    - encapsulated as class
    - getPublicKeyInfoPropOfCertPEM method added.
  - asn1hex 1.1.1 to 1.1.2
    - encapsulated as class

* Changes between 4.0.4 to 4.0.5 (2013-Aug-16)
  - crypto 1.1.1 to 1.1.2
    - KJUR.crypto.Mac (message authentication code) class added

* Changes between 4.0.3 to 4.0.4 (2013-Jul-30)
  - rsasign 1.2.4 to 1.2.5
    - verifyStringPSS argument change from BigInteger object biSig 
      to hexadecimal string hSig
      
* Changes between 4.0.2 to 4.0.3 (2013-Jul-29)
  - crypto.js 1.1.0 to 1.1.1
    - Signature and MessageDigest class supports default provider.
      So no need to specify provider.
    - DEFAULTPROVIDER property
    - add Util.hashString, Util.hashHex functions
  - pkcs5pkey 1.0.3 to 1.0.4 
    - add getRSAKeyFromPublicPKCS8PEM
    - add getRSAKeyFromPublicPKCS8Hex
  - rsasign 1.2.3 to 1.2.4
    - delete _RSASIGN_HASHHEXFUNC property
    - now rsasign supports any hash algorithm
      which is supported by KJUR.crypto.Util.hashString
  - add some QUnit test code
    - test/qunit-do-{pkcs5-pub, rsasign-pss}.html 

* 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)
    - However still having issue in PSS
  - NEW base64x-1.1.js 
    - moved from github.com/kjur/jsjws

* Changes between 3.1.5 and 4.0.0 (2013-Jul-18)
  - newly added ECC key and ECDSA support
    - MODIFY crypto-1.1.js - Signature class now supports ECDSA
    - NEW ecdsa-modified-1.0.js - modifed version of Bitcoin ecdsa.js
    - NEW ecparam-1.0.js - ECC curve parameters definition
    - NEW ext/ec.js - Tom Wu's EC library
    - NEW ext/ec-patch.js - patch to Tom Wu's EC library by Bitcoin
    - supported curves are secp{256r1,256k1,384r1}

* Changes between 3.1.4 and 3.1.5 (2013-Jun-11)
  - move third party library to ext directory.
  - fix script URLs in sample-rsasign.html 

* Changes between 3.1.3 and 3.1.4 (2013-May-31)
  - asn1-1.0.js update 1.0.1 to 1.0.2
    - method ASN1Util.getPEMStringFromHex added
  - asn1x509-1.0.js update 1.0.3 to 1.0.4
    - mehtod X509Util.getPKCS8PubKeyPEMfromRSAKey added

* Changes between 3.1.2 and 3.1.3 (2013-May-28)
  - crypto-1.0.js update 1.0.3 to 1.0.4
    - support "sjcl" (i.e. Stanford JavaScript Crypto Library) 
      provider with sha256 in MessageDigest class

* Changes between 3.1.1 and 3.1.2 (2013-May-27)
  - pkcs5pkey-1.0.js update 1.0.2 to 1.0.3
    - following method added to support loading encrypted PKCS#8 priavte key
      - getRSAKeyFromEncryptedPKCS8PEM
      - getPlainPKCS8HexFromEncryptedPKCS8PEM
      - getPBKDF2KeyHexFromParam
      - parseHexOfEncryptedPKCS8
      - getRSAKeyFromPlainPKCS8Hex

* Changes between 3.1.0 and 3.1.1
  - pkcs5pkey-1.0.js update 1.0.1 to 1.0.2
    - method 'getRSAKeyFromEncryptedPKCS5PEM', 'getEryptedPKCS5PEMFromPrvKeyHex'
      'getEryptedPKCS5PEMFromRSAKey' and 'newEncryptedPKCS5PEM'
      added to PKCS5PKEY to get encrypted PEM key.

* Changes between 3.0.5 and 3.1.0
  - asn1x509-1.0.js update 1.0.2 to 1.0.3
    CRL, TBSCertList and CRLEntry class added to KJUR.asn1.x509
    to issue CRL.

* Changes between 3.0.4 and 3.0.5
  - pkcs5peky-1.0 update 1.0.0 to 1.0.1
    method getRSAKeyFromPlainPKCS8PEM added to PKCS5PKEY class to load
    unencrypted PEM formatted PKCS#8 private key.

* Changes between 3.0.3 and 3.0.4
  - rsasign-1.2.js update 1.2.1 to 1.2.2
    - hash algs used were changed from  to MessageDigest(CryptoJS base). 
      So now jsrsasign doesn't use Paul Johnston's
      hash library(http://pajhome.org.uk/crypt/md5/md5.html).
      Paul's scripts will be concluded approx. one year for know then
      their scripts and LICENSE notice will be removed then.
  - crypto-1.0.js update 1.0.2 to 1.0.3
    - add static hash functions {md5,sha1,sha256,sha512,ripemd160} to KJUR.crypto.Util

* Changes between 3.0.2 and 3.0.3
  - asn1x509-1.0.js update to 1.0.1
    - ExtKeyUsage extension class added.

* Changes between 3.0.1 and 3.0.2
  - crypto-1.0.js update to 1.0.2
    - Signature now supports signature verification:
      - initVerifyByPublicKey and initVerifyByCertificatePEM method
        added.

* Changes between 3.0.0 and 3.0.1
  - crypto-1.0.js update to 1.0.1
    - MessageDigest class now support md5, sha224, sha256, sha384, 
      sha512 and ripemd160 of 'cryptojs' provider.
    - Signature class now support {MD5,SHA224,SHA256,SHA384,
      SHA512,RIPEMD160}withRSA of 'cryptojs/jsrsa' provider.
    - Signature class constructor now supports 
      'prvkeypem' parameter to specify signing private key.
  - asn1x509-1.0.js update to 1.0.1
    - Certificate.setRsaPrvKeyByPEMandPass(pem,pass) method added and
      supports new constructor property 'rsaprvpem' and 'rsaprvpas'.

* Changes between 2.0.0 and 3.0.0
  - New features:
    - crypto-1.0.js: MessageDigest and Signature class like Java JCE
    - asn1-1.0.js  : ASN.1 Primitive Encoder class
    - asn1x509-1.0.js: ASN.1 class for X.509 certificate
  - merge David Halls's contribution. 
    (https://github.com/davedoesdev, Thanks! Dave.)
    - rsa.js: update for PKCS#1 OAEP support
    - rsa2.js: update for PKCS#1 OAEP support
    - rsasign-1.2.js: add PSS support (1.2.1)
    - jsbn.js: small fix
    - jsbn2.js: update for probable prime fix, bnSquare
    - base64.js: small fix
  - gradually moving to CryptoJS library from other hash library

* Changes between 1.3.1 and 2.0.0 [Apr 14, 2013]0
  - newly added pkcs5pkey.js and PKCS5PKEY class to support 
    passcode encrypted PKCS#5 private key.

* Changes between 1.3 and 1.3.1 [Apr 14, 2013]
  - rsapem.js updated to 1.1 to 1.1.1
    - method RSAKey.readPrivateKeyFromASN1HexString added.

* Changes between 1.2.1 and 1.3 [May 10, 2012]
  - ASN1HEX class defined in asn1hex.js
  - update x509.js and rsapem.js for ASN1HEX class.
  - enhance ASN1HEX and X509class.
  - JavaScript API document is available.

* Changes between 1.2 and 1.2.1 [May 03, 2012]
  - now minified files also provided

* Changes between 1.1 and 1.2 [Apr 30, 2012]
  - fixed critial signature generation and verification bug related to
    zero padding of big integer.
  - add MD5, SHA512 and RIPEMD-160 support
  - default hash libraries were changed which was developed by
    Paul Johnston (See http://pajhome.org.uk/crypt/md5/md5.html).
  - now download site is hosted on github.

* Changes between 1.0 and 1.1 [Sep 25, 2010]
  - some web contents update

* 1.0 Initial Relasse [Jun 03, 2010]

  

