Skip to content

Commit

Permalink
10.1.12 release
Browse files Browse the repository at this point in the history
  • Loading branch information
kjur committed Feb 25, 2021
1 parent cb31c13 commit 1147038
Show file tree
Hide file tree
Showing 17 changed files with 2,809 additions and 2,780 deletions.
12 changes: 12 additions & 0 deletions ChangeLog.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@

ChangeLog for jsrsasign

fix for wrong UTF-8 encoding in distinguished name parser
* Changes from 10.1.11 to 10.1.12 (2021-02-25)
- src/x509.js
- fix X509.getAttrTypeValue (#473)
- attribute value is converted by hextoutf8 not hextorstr
- X509.getIssuerString update to use getIssuer
- X509.getSubjectString update to use getSubject
- X509.dnarraytostr fix to escape "+" and "/"
- X509.hex2dn update to use getX500Name
- test/qunit-do-x509-ext.html
- updated to follow above

update X509.getVersion and add jsrsasign-util saveFileJSON
* Changes from 10.1.10 to 10.1.11 (2021-02-19)
- src/x509.js
Expand Down
2 changes: 1 addition & 1 deletion api/files.html
Original file line number Diff line number Diff line change
Expand Up @@ -884,7 +884,7 @@ <h2><a href="symbols/src/x509-1.1.js.html">x509-1.1.js</a></h2>


<dt class="heading">Version:</dt>
<dd>jsrsasign 10.1.0 x509 2.0.9 (2020-Nov-18)</dd>
<dd>jsrsasign 10.1.12 x509 2.0.10 (2021-Feb-25)</dd>



Expand Down
14 changes: 14 additions & 0 deletions api/symbols/X509.html
Original file line number Diff line number Diff line change
Expand Up @@ -4365,6 +4365,13 @@ <h1 class="classTitle">



<dl class="detailList">
<dt class="heading">See:</dt>

<dd><a href="../symbols/X509.html#getIssuer">X509#getIssuer</a></dd>

</dl>


<hr />

Expand Down Expand Up @@ -5394,6 +5401,13 @@ <h1 class="classTitle">



<dl class="detailList">
<dt class="heading">See:</dt>

<dd><a href="../symbols/X509.html#getSubject">X509#getSubject</a></dd>

</dl>


<hr />

Expand Down
5,489 changes: 2,743 additions & 2,746 deletions api/symbols/src/x509-1.1.js.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "kjur-jsrsasign",
"version": "10.1.11",
"version": "10.1.12",
"main": "jsrsasign-all-min.js",
"description": "The 'jsrsasign' (RSA-Sign JavaScript Library) is an opensource free cryptography library supporting RSA/RSAPSS/ECDSA/DSA signing/validation, ASN.1, PKCS#1/5/8 private/public key, X.509 certificate, CRL, OCSP, CMS SignedData, TimeStamp, CAdES, JWS and JWT in pure JavaScript.",
"license": "MIT",
Expand Down
4 changes: 2 additions & 2 deletions jsrsasign-all-min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion jsrsasign-jwths-min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion jsrsasign-rsa-min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion min/x509-1.1.min.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions npm/.npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
_test
4 changes: 2 additions & 2 deletions npm/lib/jsrsasign-all-min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion npm/lib/jsrsasign-jwths-min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion npm/lib/jsrsasign-rsa-min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions npm/lib/jsrsasign.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion npm/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "jsrsasign",
"version": "10.1.11",
"version": "10.1.12",
"description": "opensource free pure JavaScript cryptographic library supports RSA/RSAPSS/ECDSA/DSA signing/validation, ASN.1, PKCS#1/5/8 private/public key, X.509 certificate, CRL, OCSP, CMS SignedData, TimeStamp and CAdES and JSON Web Signature(JWS)/Token(JWT)/Key(JWK).",
"main": "lib/jsrsasign.js",
"scripts": {
Expand Down
35 changes: 16 additions & 19 deletions src/x509-1.1.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
/* x509-2.0.9.js (c) 2012-2020 Kenji Urushima | kjur.github.io/jsrsasign/license
/* x509-2.0.10.js (c) 2012-2021 Kenji Urushima | kjur.github.io/jsrsasign/license
*/
/*
* x509.js - X509 class to read subject public key from certificate.
*
* Copyright (c) 2010-2020 Kenji Urushima ([email protected])
* Copyright (c) 2010-2021 Kenji Urushima ([email protected])
*
* This software is licensed under the terms of the MIT License.
* https://kjur.github.io/jsrsasign/license
Expand All @@ -16,7 +16,7 @@
* @fileOverview
* @name x509-1.1.js
* @author Kenji Urushima [email protected]
* @version jsrsasign 10.1.0 x509 2.0.9 (2020-Nov-18)
* @version jsrsasign 10.1.12 x509 2.0.10 (2021-Feb-25)
* @since jsrsasign 1.x.x
* @license <a href="https://kjur.github.io/jsrsasign/license/">MIT License</a>
*/
Expand Down Expand Up @@ -271,14 +271,16 @@ function X509(params) {
* @memberOf X509#
* @function
* @return {String} issuer DN string
* @see X509#getIssuer
* @example
* var x = new X509();
* x.readCertPEM(sCertPEM);
* var dn1 = x.getIssuerString(); // return string like "/C=US/O=TEST"
* var dn2 = KJUR.asn1.x509.X500Name.compatToLDAP(dn1); // returns "O=TEST, C=US"
*/
this.getIssuerString = function() {
return _X509.hex2dn(this.getIssuerHex());
var pIssuer = this.getIssuer();
return pIssuer.str;
};

/**
Expand Down Expand Up @@ -321,14 +323,16 @@ function X509(params) {
* @memberOf X509#
* @function
* @return {String} subject DN string
* @see X509#getSubject
* @example
* var x = new X509();
* x.readCertPEM(sCertPEM);
* var dn1 = x.getSubjectString(); // return string like "/C=US/O=TEST"
* var dn2 = KJUR.asn1.x509.X500Name.compatToLDAP(dn1); // returns "O=TEST, C=US"
*/
this.getSubjectString = function() {
return _X509.hex2dn(this.getSubjectHex());
var pSubject = this.getSubject();
return pSubject.str;
};

/**
Expand Down Expand Up @@ -2238,7 +2242,7 @@ function X509(params) {
var hValue = _getVbyList(h, a[1], []);
var oid = KJUR.asn1.ASN1Util.oidHexToInt(hOID);
result.type = KJUR.asn1.x509.OID.oid2atype(oid);
result.value = hextorstr(hValue);
result.value = hextoutf8(hValue);
result.ds = this.HEX2STAG[h.substr(a[1], 2)];
return result;
};
Expand Down Expand Up @@ -2662,14 +2666,14 @@ function X509(params) {
*/
this.dnarraytostr = function(aDN) {
function rdnarraytostr(aRDN) {
return aRDN.map(function(x){return atvtostr(x);}).join("+");
return aRDN.map(function(x){return atvtostr(x).replace(/\+/,"\\+");}).join("+");
};

function atvtostr(pATV) {
return pATV.type + "=" + pATV.value;
};

return "/" + aDN.map(function(x){return rdnarraytostr(x);}).join("/");
return "/" + aDN.map(function(x){return rdnarraytostr(x).replace(/\//, "\\/");}).join("/");
};

/**
Expand Down Expand Up @@ -2864,17 +2868,10 @@ function X509(params) {
*/
X509.hex2dn = function(hex, idx) {
if (idx === undefined) idx = 0;
if (hex.substr(idx, 2) !== "30") throw new Error("malformed DN");

var a = new Array();

var aIdx = ASN1HEX.getChildIdx(hex, idx);
for (var i = 0; i < aIdx.length; i++) {
a.push(X509.hex2rdn(hex, aIdx[i]));
}

a = a.map(function(s) { return s.replace("/", "\\/"); });
return "/" + a.join("/");
var x = new X509();
var hDN = ASN1HEX.getTLV(hex, idx);
var pDN = x.getX500Name(hex);
return pDN.str;
};

/**
Expand Down
10 changes: 9 additions & 1 deletion test/qunit-do-x509-ext.html
Original file line number Diff line number Diff line change
Expand Up @@ -912,8 +912,16 @@
],
str: "/C=JP/O=b/[email protected]"
};

deepEqual(x.getX500Name(hIn1), pExpect, "/C=JP/O=b/[email protected]")

var hIn2 = "30123110300e06035504030c0743c3a06e617279";
var pExpect2 = {
array: [
[{type:"CN",value:"Cànary",ds:"utf8"}]
],
str: "/CN=Cànary"
};
deepEqual(x.getX500Name(hIn2), pExpect2, "/CN=Cànary")
});

test("getRDN test", function() {
Expand Down

0 comments on commit 1147038

Please sign in to comment.