api-console-assets
Version:
This repo only exists to publish api console components to npm
1,167 lines (695 loc) • 31.8 kB
HTML
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="generator" content="JsDoc Toolkit" />
<title>jsrsasign 8.0.0 JavaScript API Reference - KJUR.jws.JWSJS</title>
<style type="text/css">
/* default.css */
body
{
font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
width: 800px;
}
.header
{
clear: both;
background-color: #ccc;
padding: 8px;
}
h1
{
font-size: 150%;
font-weight: bold;
padding: 0;
margin: 1em 0 0 .3em;
}
hr
{
border: none 0;
border-top: 1px solid #7F8FB1;
height: 1px;
}
pre.code
{
display: block;
padding: 8px;
border: 1px dashed #ccc;
}
#index
{
margin-top: 24px;
float: left;
width: 160px;
position: absolute;
left: 8px;
background-color: #F3F3F3;
padding: 8px;
}
#content
{
margin-left: 190px;
width: 600px;
}
.classList
{
list-style-type: none;
padding: 0;
margin: 0 0 0 8px;
font-family: arial, sans-serif;
font-size: 1em;
overflow: auto;
}
.classList li
{
padding: 0;
margin: 0 0 8px 0;
}
.summaryTable { width: 100%; }
h1.classTitle
{
font-size:170%;
line-height:130%;
}
h2 { font-size: 110%; }
caption, div.sectionTitle
{
background-color: #7F8FB1;
color: #fff;
font-size:130%;
text-align: left;
padding: 2px 6px 2px 6px;
border: 1px #7F8FB1 solid;
}
div.sectionTitle { margin-bottom: 8px; }
.summaryTable thead { display: none; }
.summaryTable td
{
vertical-align: top;
padding: 4px;
border-bottom: 1px #7F8FB1 solid;
border-right: 1px #7F8FB1 solid;
}
/*col#summaryAttributes {}*/
.summaryTable td.attributes
{
border-left: 1px #7F8FB1 solid;
width: 140px;
text-align: right;
}
td.attributes, .fixedFont
{
line-height: 15px;
color: #002EBE;
font-family: "Courier New",Courier,monospace;
font-size: 13px;
}
.summaryTable td.nameDescription
{
text-align: left;
font-size: 13px;
line-height: 15px;
}
.summaryTable td.nameDescription, .description
{
line-height: 15px;
padding: 4px;
padding-left: 4px;
}
.summaryTable { margin-bottom: 8px; }
ul.inheritsList
{
list-style: square;
margin-left: 20px;
padding-left: 0;
}
.detailList {
margin-left: 20px;
line-height: 15px;
}
.detailList dt { margin-left: 20px; }
.detailList .heading
{
font-weight: bold;
padding-bottom: 6px;
margin-left: 0;
}
.light, td.attributes, .light a:link, .light a:visited
{
color: #777;
font-style: italic;
}
.fineprint
{
text-align: right;
font-size: 10px;
}
</style>
</head>
<body>
<!-- ============================== header ================================= -->
<!-- begin static/header.html -->
<div id="header" style="background: #7F8FB1; color: white; margin: -10px">
<b><a href="http://kjur.github.com/jsrsasign/" style="color: white">jsrsasign</a></b> JavaScript API Reference
</div>
<!-- end static/header.html -->
<!-- ============================== classes index ============================ -->
<div id="index">
<!-- begin publish.classesIndex -->
<div align="center"><a href="../index.html">Class Index</a>
| <a href="../files.html">File Index</a></div>
<hr />
<h2>Classes</h2>
<ul class="classList">
<li><i><a href="../symbols/global__.html">global__</a></i></li>
<li><a href="../symbols/ASN1HEX.html">ASN1HEX</a></li>
<li><a href="../symbols/Base64x.html">Base64x</a></li>
<li><a href="../symbols/KEYUTIL.html">KEYUTIL</a></li>
<li><a href="../symbols/KJUR.html">KJUR</a></li>
<li><a href="../symbols/KJUR.asn1.html">KJUR.asn1</a></li>
<li><a href="../symbols/KJUR.asn1.ASN1Object.html">KJUR.asn1.ASN1Object</a></li>
<li><a href="../symbols/KJUR.asn1.ASN1Util.html">KJUR.asn1.ASN1Util</a></li>
<li><a href="../symbols/KJUR.asn1.cades.html">KJUR.asn1.cades</a></li>
<li><a href="../symbols/KJUR.asn1.cades.CAdESUtil.html">KJUR.asn1.cades.CAdESUtil</a></li>
<li><a href="../symbols/KJUR.asn1.cades.CompleteCertificateRefs.html">KJUR.asn1.cades.CompleteCertificateRefs</a></li>
<li><a href="../symbols/KJUR.asn1.cades.OtherCertID.html">KJUR.asn1.cades.OtherCertID</a></li>
<li><a href="../symbols/KJUR.asn1.cades.OtherHash.html">KJUR.asn1.cades.OtherHash</a></li>
<li><a href="../symbols/KJUR.asn1.cades.OtherHashAlgAndValue.html">KJUR.asn1.cades.OtherHashAlgAndValue</a></li>
<li><a href="../symbols/KJUR.asn1.cades.SignaturePolicyIdentifier.html">KJUR.asn1.cades.SignaturePolicyIdentifier</a></li>
<li><a href="../symbols/KJUR.asn1.cades.SignatureTimeStamp.html">KJUR.asn1.cades.SignatureTimeStamp</a></li>
<li><a href="../symbols/KJUR.asn1.cms.html">KJUR.asn1.cms</a></li>
<li><a href="../symbols/KJUR.asn1.cms.Attribute.html">KJUR.asn1.cms.Attribute</a></li>
<li><a href="../symbols/KJUR.asn1.cms.AttributeList.html">KJUR.asn1.cms.AttributeList</a></li>
<li><a href="../symbols/KJUR.asn1.cms.CMSUtil.html">KJUR.asn1.cms.CMSUtil</a></li>
<li><a href="../symbols/KJUR.asn1.cms.ContentInfo.html">KJUR.asn1.cms.ContentInfo</a></li>
<li><a href="../symbols/KJUR.asn1.cms.ContentType.html">KJUR.asn1.cms.ContentType</a></li>
<li><a href="../symbols/KJUR.asn1.cms.EncapsulatedContentInfo.html">KJUR.asn1.cms.EncapsulatedContentInfo</a></li>
<li><a href="../symbols/KJUR.asn1.cms.IssuerAndSerialNumber.html">KJUR.asn1.cms.IssuerAndSerialNumber</a></li>
<li><a href="../symbols/KJUR.asn1.cms.MessageDigest.html">KJUR.asn1.cms.MessageDigest</a></li>
<li><a href="../symbols/KJUR.asn1.cms.SignedData.html">KJUR.asn1.cms.SignedData</a></li>
<li><a href="../symbols/KJUR.asn1.cms.SignerInfo.html">KJUR.asn1.cms.SignerInfo</a></li>
<li><a href="../symbols/KJUR.asn1.cms.SigningCertificate.html">KJUR.asn1.cms.SigningCertificate</a></li>
<li><a href="../symbols/KJUR.asn1.cms.SigningCertificateV2.html">KJUR.asn1.cms.SigningCertificateV2</a></li>
<li><a href="../symbols/KJUR.asn1.cms.SigningTime.html">KJUR.asn1.cms.SigningTime</a></li>
<li><a href="../symbols/KJUR.asn1.csr.html">KJUR.asn1.csr</a></li>
<li><a href="../symbols/KJUR.asn1.csr.CertificationRequest.html">KJUR.asn1.csr.CertificationRequest</a></li>
<li><a href="../symbols/KJUR.asn1.csr.CertificationRequestInfo.html">KJUR.asn1.csr.CertificationRequestInfo</a></li>
<li><a href="../symbols/KJUR.asn1.csr.CSRUtil.html">KJUR.asn1.csr.CSRUtil</a></li>
<li><a href="../symbols/KJUR.asn1.DERAbstractString.html">KJUR.asn1.DERAbstractString</a></li>
<li><a href="../symbols/KJUR.asn1.DERAbstractStructured.html">KJUR.asn1.DERAbstractStructured</a></li>
<li><a href="../symbols/KJUR.asn1.DERAbstractTime.html">KJUR.asn1.DERAbstractTime</a></li>
<li><a href="../symbols/KJUR.asn1.DERBitString.html">KJUR.asn1.DERBitString</a></li>
<li><a href="../symbols/KJUR.asn1.DERBoolean.html">KJUR.asn1.DERBoolean</a></li>
<li><a href="../symbols/KJUR.asn1.DEREnumerated.html">KJUR.asn1.DEREnumerated</a></li>
<li><a href="../symbols/KJUR.asn1.DERGeneralizedTime.html">KJUR.asn1.DERGeneralizedTime</a></li>
<li><a href="../symbols/KJUR.asn1.DERIA5String.html">KJUR.asn1.DERIA5String</a></li>
<li><a href="../symbols/KJUR.asn1.DERInteger.html">KJUR.asn1.DERInteger</a></li>
<li><a href="../symbols/KJUR.asn1.DERNull.html">KJUR.asn1.DERNull</a></li>
<li><a href="../symbols/KJUR.asn1.DERNumericString.html">KJUR.asn1.DERNumericString</a></li>
<li><a href="../symbols/KJUR.asn1.DERObjectIdentifier.html">KJUR.asn1.DERObjectIdentifier</a></li>
<li><a href="../symbols/KJUR.asn1.DEROctetString.html">KJUR.asn1.DEROctetString</a></li>
<li><a href="../symbols/KJUR.asn1.DERPrintableString.html">KJUR.asn1.DERPrintableString</a></li>
<li><a href="../symbols/KJUR.asn1.DERSequence.html">KJUR.asn1.DERSequence</a></li>
<li><a href="../symbols/KJUR.asn1.DERSet.html">KJUR.asn1.DERSet</a></li>
<li><a href="../symbols/KJUR.asn1.DERTaggedObject.html">KJUR.asn1.DERTaggedObject</a></li>
<li><a href="../symbols/KJUR.asn1.DERTeletexString.html">KJUR.asn1.DERTeletexString</a></li>
<li><a href="../symbols/KJUR.asn1.DERUTCTime.html">KJUR.asn1.DERUTCTime</a></li>
<li><a href="../symbols/KJUR.asn1.DERUTF8String.html">KJUR.asn1.DERUTF8String</a></li>
<li><a href="../symbols/KJUR.asn1.ocsp.html">KJUR.asn1.ocsp</a></li>
<li><a href="../symbols/KJUR.asn1.ocsp.CertID.html">KJUR.asn1.ocsp.CertID</a></li>
<li><a href="../symbols/KJUR.asn1.ocsp.OCSPRequest.html">KJUR.asn1.ocsp.OCSPRequest</a></li>
<li><a href="../symbols/KJUR.asn1.ocsp.OCSPUtil.html">KJUR.asn1.ocsp.OCSPUtil</a></li>
<li><a href="../symbols/KJUR.asn1.ocsp.Request.html">KJUR.asn1.ocsp.Request</a></li>
<li><a href="../symbols/KJUR.asn1.ocsp.TBSRequest.html">KJUR.asn1.ocsp.TBSRequest</a></li>
<li><a href="../symbols/KJUR.asn1.tsp.html">KJUR.asn1.tsp</a></li>
<li><a href="../symbols/KJUR.asn1.tsp.AbstractTSAAdapter.html">KJUR.asn1.tsp.AbstractTSAAdapter</a></li>
<li><a href="../symbols/KJUR.asn1.tsp.Accuracy.html">KJUR.asn1.tsp.Accuracy</a></li>
<li><a href="../symbols/KJUR.asn1.tsp.FixedTSAAdapter.html">KJUR.asn1.tsp.FixedTSAAdapter</a></li>
<li><a href="../symbols/KJUR.asn1.tsp.MessageImprint.html">KJUR.asn1.tsp.MessageImprint</a></li>
<li><a href="../symbols/KJUR.asn1.tsp.PKIFailureInfo.html">KJUR.asn1.tsp.PKIFailureInfo</a></li>
<li><a href="../symbols/KJUR.asn1.tsp.PKIFreeText.html">KJUR.asn1.tsp.PKIFreeText</a></li>
<li><a href="../symbols/KJUR.asn1.tsp.PKIStatus.html">KJUR.asn1.tsp.PKIStatus</a></li>
<li><a href="../symbols/KJUR.asn1.tsp.PKIStatusInfo.html">KJUR.asn1.tsp.PKIStatusInfo</a></li>
<li><a href="../symbols/KJUR.asn1.tsp.SimpleTSAAdapter.html">KJUR.asn1.tsp.SimpleTSAAdapter</a></li>
<li><a href="../symbols/KJUR.asn1.tsp.TimeStampReq.html">KJUR.asn1.tsp.TimeStampReq</a></li>
<li><a href="../symbols/KJUR.asn1.tsp.TimeStampResp.html">KJUR.asn1.tsp.TimeStampResp</a></li>
<li><a href="../symbols/KJUR.asn1.tsp.TSPUtil.html">KJUR.asn1.tsp.TSPUtil</a></li>
<li><a href="../symbols/KJUR.asn1.tsp.TSTInfo.html">KJUR.asn1.tsp.TSTInfo</a></li>
<li><a href="../symbols/KJUR.asn1.x509.html">KJUR.asn1.x509</a></li>
<li><a href="../symbols/KJUR.asn1.x509.AlgorithmIdentifier.html">KJUR.asn1.x509.AlgorithmIdentifier</a></li>
<li><a href="../symbols/KJUR.asn1.x509.AttributeTypeAndValue.html">KJUR.asn1.x509.AttributeTypeAndValue</a></li>
<li><a href="../symbols/KJUR.asn1.x509.AuthorityInfoAccess.html">KJUR.asn1.x509.AuthorityInfoAccess</a></li>
<li><a href="../symbols/KJUR.asn1.x509.AuthorityKeyIdentifier.html">KJUR.asn1.x509.AuthorityKeyIdentifier</a></li>
<li><a href="../symbols/KJUR.asn1.x509.BasicConstraints.html">KJUR.asn1.x509.BasicConstraints</a></li>
<li><a href="../symbols/KJUR.asn1.x509.Certificate.html">KJUR.asn1.x509.Certificate</a></li>
<li><a href="../symbols/KJUR.asn1.x509.CRL.html">KJUR.asn1.x509.CRL</a></li>
<li><a href="../symbols/KJUR.asn1.x509.CRLDistributionPoints.html">KJUR.asn1.x509.CRLDistributionPoints</a></li>
<li><a href="../symbols/KJUR.asn1.x509.CRLEntry.html">KJUR.asn1.x509.CRLEntry</a></li>
<li><a href="../symbols/KJUR.asn1.x509.DistributionPoint.html">KJUR.asn1.x509.DistributionPoint</a></li>
<li><a href="../symbols/KJUR.asn1.x509.DistributionPointName.html">KJUR.asn1.x509.DistributionPointName</a></li>
<li><a href="../symbols/KJUR.asn1.x509.Extension.html">KJUR.asn1.x509.Extension</a></li>
<li><a href="../symbols/KJUR.asn1.x509.ExtKeyUsage.html">KJUR.asn1.x509.ExtKeyUsage</a></li>
<li><a href="../symbols/KJUR.asn1.x509.GeneralName.html">KJUR.asn1.x509.GeneralName</a></li>
<li><a href="../symbols/KJUR.asn1.x509.GeneralNames.html">KJUR.asn1.x509.GeneralNames</a></li>
<li><a href="../symbols/KJUR.asn1.x509.IssuerAltName.html">KJUR.asn1.x509.IssuerAltName</a></li>
<li><a href="../symbols/KJUR.asn1.x509.KeyUsage.html">KJUR.asn1.x509.KeyUsage</a></li>
<li><a href="../symbols/KJUR.asn1.x509.OID.html">KJUR.asn1.x509.OID</a></li>
<li><a href="../symbols/KJUR.asn1.x509.RDN.html">KJUR.asn1.x509.RDN</a></li>
<li><a href="../symbols/KJUR.asn1.x509.SubjectAltName.html">KJUR.asn1.x509.SubjectAltName</a></li>
<li><a href="../symbols/KJUR.asn1.x509.SubjectPublicKeyInfo.html">KJUR.asn1.x509.SubjectPublicKeyInfo</a></li>
<li><a href="../symbols/KJUR.asn1.x509.TBSCertificate.html">KJUR.asn1.x509.TBSCertificate</a></li>
<li><a href="../symbols/KJUR.asn1.x509.TBSCertList.html">KJUR.asn1.x509.TBSCertList</a></li>
<li><a href="../symbols/KJUR.asn1.x509.Time.html">KJUR.asn1.x509.Time</a></li>
<li><a href="../symbols/KJUR.asn1.x509.X500Name.html">KJUR.asn1.x509.X500Name</a></li>
<li><a href="../symbols/KJUR.asn1.x509.X509Util.html">KJUR.asn1.x509.X509Util</a></li>
<li><a href="../symbols/KJUR.crypto.html">KJUR.crypto</a></li>
<li><a href="../symbols/KJUR.crypto.Cipher.html">KJUR.crypto.Cipher</a></li>
<li><a href="../symbols/KJUR.crypto.DSA.html">KJUR.crypto.DSA</a></li>
<li><a href="../symbols/KJUR.crypto.ECDSA.html">KJUR.crypto.ECDSA</a></li>
<li><a href="../symbols/KJUR.crypto.ECParameterDB.html">KJUR.crypto.ECParameterDB</a></li>
<li><a href="../symbols/KJUR.crypto.Mac.html">KJUR.crypto.Mac</a></li>
<li><a href="../symbols/KJUR.crypto.MessageDigest.html">KJUR.crypto.MessageDigest</a></li>
<li><a href="../symbols/KJUR.crypto.OID.html">KJUR.crypto.OID</a></li>
<li><a href="../symbols/KJUR.crypto.Signature.html">KJUR.crypto.Signature</a></li>
<li><a href="../symbols/KJUR.crypto.Util.html">KJUR.crypto.Util</a></li>
<li><a href="../symbols/KJUR.jws.html">KJUR.jws</a></li>
<li><a href="../symbols/KJUR.jws.IntDate.html">KJUR.jws.IntDate</a></li>
<li><a href="../symbols/KJUR.jws.JWS.html">KJUR.jws.JWS</a></li>
<li><a href="../symbols/KJUR.jws.JWSJS.html">KJUR.jws.JWSJS</a></li>
<li><a href="../symbols/KJUR.lang.String.html">KJUR.lang.String</a></li>
<li><a href="../symbols/RSAKey.html">RSAKey</a></li>
<li><a href="../symbols/X509.html">X509</a></li>
</ul>
<hr />
<!-- end publish.classesIndex -->
</div>
<div id="content">
<!-- ============================== class title ============================ -->
<h1 class="classTitle">
Class KJUR.jws.JWSJS
</h1>
<!-- ============================== class summary ========================== -->
<p class="description">
<br />Version
2.1.0 (2016 Sep 6).<br />
JSON Web Signature JSON Serialization (JWSJS) class
<br /><i>Defined in: </i> <a href="../symbols/src/jwsjs-2.0.js.html">jwsjs-2.0.js</a>.
</p>
<!-- ============================== constructor summary ==================== -->
<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class KJUR.jws.JWSJS.">
<caption>Class Summary</caption>
<thead>
<tr>
<th scope="col">Constructor Attributes</th>
<th scope="col">Constructor Name and Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="attributes"> </td>
<td class="nameDescription" >
<div class="fixedFont">
<b><a href="../symbols/KJUR.jws.JWSJS.html#constructor">KJUR.jws.JWSJS</a></b>()
</div>
<div class="description">JSON Web Signature JSON Serialization (JWSJS) class.</div>
</td>
</tr>
</tbody>
</table>
<!-- ============================== properties summary ===================== -->
<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class KJUR.jws.JWSJS.">
<caption>Field Summary</caption>
<thead>
<tr>
<th scope="col">Field Attributes</th>
<th scope="col">Field Name and Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont">
<b><a href="../symbols/KJUR.jws.JWSJS.html#aHeader">aHeader</a></b>
</div>
<div class="description">array of Encoded JWS Headers</div>
</td>
</tr>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont">
<b><a href="../symbols/KJUR.jws.JWSJS.html#aSignature">aSignature</a></b>
</div>
<div class="description">array of Encoded JWS signature value</div>
</td>
</tr>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont">
<b><a href="../symbols/KJUR.jws.JWSJS.html#sPayload">sPayload</a></b>
</div>
<div class="description">Encoded JWS payload</div>
</td>
</tr>
</tbody>
</table>
<!-- ============================== methods summary ======================== -->
<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class KJUR.jws.JWSJS.">
<caption>Method Summary</caption>
<thead>
<tr>
<th scope="col">Method Attributes</th>
<th scope="col">Method Name and Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/KJUR.jws.JWSJS.html#addSignature">addSignature</a></b>(alg, spHead, key, pass)
</div>
<div class="description">add a signature to existing JWS-JS by algorithm, header and key.</div>
</td>
</tr>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/KJUR.jws.JWSJS.html#getJSON">getJSON</a></b>()
</div>
<div class="description">get JSON object for this JWS-JS object.</div>
</td>
</tr>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/KJUR.jws.JWSJS.html#init">init</a></b>()
</div>
<div class="description">(re-)initialize this object.</div>
</td>
</tr>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/KJUR.jws.JWSJS.html#initWithJWS">initWithJWS</a></b>(sJWS)
</div>
<div class="description">(re-)initialize and set first signature with JWS.</div>
</td>
</tr>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/KJUR.jws.JWSJS.html#isEmpty">isEmpty</a></b>()
</div>
<div class="description">check if this JWS-JS object is empty.</div>
</td>
</tr>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/KJUR.jws.JWSJS.html#readJWSJS">readJWSJS</a></b>(spJWSJS)
</div>
<div class="description">read JWS-JS string or object<br/>
NOTE: Loading from JSON object is suppored from
jsjws 2.1.0 jsrsasign 5.1.0 (2016-Sep-06).</div>
</td>
</tr>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/KJUR.jws.JWSJS.html#verifyAll">verifyAll</a></b>(aKeyAlg)
</div>
<div class="description">verify all signature of JWS-JS object by array of key and acceptAlgs.</div>
</td>
</tr>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/KJUR.jws.JWSJS.html#verifyNth">verifyNth</a></b>(idx, key, acceptAlgs)
</div>
<div class="description">verify Nth signature of JWS-JS object by key and acceptAlgs.</div>
</td>
</tr>
</tbody>
</table>
<!-- ============================== events summary ======================== -->
<!-- ============================== constructor details ==================== -->
<div class="details"><a name="constructor"> </a>
<div class="sectionTitle">
Class Detail
</div>
<div class="fixedFont">
<b>KJUR.jws.JWSJS</b>()
</div>
<div class="description">
JSON Web Signature JSON Serialization (JWSJS) class.<br/>
This class generates and verfies "JSON Web Signature JSON Serialization (JWSJS)" of
<a href="http://tools.ietf.org/html/draft-jones-json-web-signature-json-serialization-01">
IETF Internet Draft</a>. Here is major methods of this class:
<ul>
<li><a href="../symbols/KJUR.jws.JWSJS.html#readJWSJS">KJUR.jws.JWSJS#readJWSJS</a> - initialize with string or JSON object of JWSJS.</li>
<li><a href="../symbols/KJUR.jws.JWSJS.html#initWithJWS">KJUR.jws.JWSJS#initWithJWS</a> - initialize with JWS as first signature.</li>
<li><a href="../symbols/KJUR.jws.JWSJS.html#addSignature">KJUR.jws.JWSJS#addSignature</a> - append signature to JWSJS object.</li>
<li><a href="../symbols/KJUR.jws.JWSJS.html#verifyAll">KJUR.jws.JWSJS#verifyAll</a> - verify all signatures in JWSJS object.</li>
<li><a href="../symbols/KJUR.jws.JWSJS.html#getJSON">KJUR.jws.JWSJS#getJSON</a> - get result of JWSJS object as JSON object.</li>
</ul>
<br /><i>Author: </i>Kenji Urushima.
</div>
<pre class="code">// initialize
jwsjs1 = new KJUR.jws.JWSJS();
jwsjs1.readJWSJS("{headers: [...], payload: "eyJ...", signatures: [...]}");
// add PS256 signature with RSA private key object
prvKeyObj = KEYUTIL.getKey("-----BEGIN PRIVATE KEY...");
jwsjs1.addSignature("PS256", {alg: "PS256"}, prvKeyObj);
// add HS256 signature with HMAC password "secret"
jwsjs1.addSignature(null, {alg: "HS256"}, {utf8: "secret"});
// get result finally
jwsjsObj1 = jwsjs1.getJSON();
// verify all signatures
isValid = jwsjs1.verifyAll([["-----BEGIN CERT...", ["RS256"]],
[{utf8: "secret"}, ["HS256"]]]);</pre>
<dl class="detailList">
<dt class="heading">See:</dt>
<dd><a href="https://kjur.github.io/jsjws/">old jwjws home page https://kjur.github.io/jsjws/</a></dd>
<dd><a href="https://kjur.github.io/jsrsasigns/">'jwrsasign'(RSA Sign JavaScript Library) home page https://kjur.github.io/jsrsasign/</a></dd>
<dd><a href="http://tools.ietf.org/html/draft-jones-json-web-signature-json-serialization-01">IETF I-D JSON Web Signature JSON Serialization (JWS-JS) specification</a></dd>
</dl>
</div>
<!-- ============================== field details ========================== -->
<div class="sectionTitle">
Field Detail
</div>
<a name="aHeader"> </a>
<div class="fixedFont">
<span class="light">{array of String}</span>
<b>aHeader</b>
</div>
<div class="description">
array of Encoded JWS Headers
</div>
<hr />
<a name="aSignature"> </a>
<div class="fixedFont">
<span class="light">{array of String}</span>
<b>aSignature</b>
</div>
<div class="description">
array of Encoded JWS signature value
</div>
<hr />
<a name="sPayload"> </a>
<div class="fixedFont">
<span class="light">{String}</span>
<b>sPayload</b>
</div>
<div class="description">
Encoded JWS payload
</div>
<!-- ============================== method details ========================= -->
<div class="sectionTitle">
Method Detail
</div>
<a name="addSignature"> </a>
<div class="fixedFont">
<b>addSignature</b>(alg, spHead, key, pass)
</div>
<div class="description">
add a signature to existing JWS-JS by algorithm, header and key.<br/>
</div>
<pre class="code">// initialize
jwsjs1 = new KJUR.jws.JWSJS();
jwsjs1.readJWSJS("{headers: [...], payload: "eyJ...", signatures: [...]}");
// add PS256 signature with RSA private key object
prvKeyObj = KEYUTIL.getKey("-----BEGIN PRIVATE KEY...");
jwsjs1.addSignature("PS256", {alg: "PS256"}, prvKeyObj);
// add HS256 signature with HMAC password "secret"
jwsjs1.addSignature(null, {alg: "HS256"}, {utf8: "secret"});
// get result finally
jwsjsObj1 = jwsjs1.getJSON();</pre>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>alg</b>
</dt>
<dd>JWS algorithm. If null, alg in header will be used.</dd>
<dt>
<span class="light fixedFont">{Object}</span> <b>spHead</b>
</dt>
<dd>string or object of JWS Header to add.</dd>
<dt>
<span class="light fixedFont">{Object}</span> <b>key</b>
</dt>
<dd>JWS key to sign. key object, PEM private key or HMAC key</dd>
<dt>
<span class="light fixedFont">{String}</span> <b>pass</b>
</dt>
<dd>optional password for encrypted PEM private key</dd>
</dl>
<hr />
<a name="getJSON"> </a>
<div class="fixedFont">
<b>getJSON</b>()
</div>
<div class="description">
get JSON object for this JWS-JS object.<br/>
</div>
<pre class="code">jwsj1 = new KJUR.jws.JWSJS();
// do some jwsj1 operation then get result by getJSON()
jwsjsObj1 = jwsjs1.getJSON();
// jwsjsObj1 → { headers: [...], payload: "ey...", signatures: [...] }</pre>
<hr />
<a name="init"> </a>
<div class="fixedFont">
<b>init</b>()
</div>
<div class="description">
(re-)initialize this object.<br/>
</div>
<hr />
<a name="initWithJWS"> </a>
<div class="fixedFont">
<b>initWithJWS</b>(sJWS)
</div>
<div class="description">
(re-)initialize and set first signature with JWS.<br/>
</div>
<pre class="code">jwsjs1 = new KJUR.jws.JWSJWS();
jwsjs1.initWithJWS("eyJ...");</pre>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>sJWS</b>
</dt>
<dd>JWS signature to set</dd>
</dl>
<hr />
<a name="isEmpty"> </a>
<div class="fixedFont">
<b>isEmpty</b>()
</div>
<div class="description">
check if this JWS-JS object is empty.<br/>
</div>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd>1 if there is no signatures in this object, otherwise 0.</dd>
</dl>
<hr />
<a name="readJWSJS"> </a>
<div class="fixedFont">
<b>readJWSJS</b>(spJWSJS)
</div>
<div class="description">
read JWS-JS string or object<br/>
NOTE: Loading from JSON object is suppored from
jsjws 2.1.0 jsrsasign 5.1.0 (2016-Sep-06).
</div>
<pre class="code">// load JWSJS from string
jwsjs1 = new KJUR.jws.JWSJS();
jwsjs1.readJWSJS("{headers: [...], payload: "eyJ...", signatures: [...]}");
// load JWSJS from JSON object
jwsjs1 = new KJUR.jws.JWSJS();
jwsjs1.readJWSJS({headers: [...], payload: "eyJ...", signatures: [...]});</pre>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{Object}</span> <b>spJWSJS</b>
</dt>
<dd>string or JSON object of JWS-JS to load.</dd>
</dl>
<hr />
<a name="verifyAll"> </a>
<div class="fixedFont">
<b>verifyAll</b>(aKeyAlg)
</div>
<div class="description">
verify all signature of JWS-JS object by array of key and acceptAlgs.<br/>
</div>
<pre class="code">jwsjs1 = new KJUR.jws.JWSJS();
jwsjs1.readJWSJS("{headers: [...], payload: "eyJ...", signatures: [...]}");
isValid = jwsjs1.verifyAll([["-----BEGIN CERT...", ["RS256"]],
[{utf8: "secret"}, ["HS256"]]]);</pre>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{array of key and acceptAlgs}</span> <b>aKeyAlg</b>
</dt>
<dd>a array of key and acceptAlgs</dd>
</dl>
<dl class="detailList">
<dt class="heading">Since:</dt>
<dd>jwsjs 2.1.0 jsrsasign 5.1.0</dd>
</dl>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd>true if all signatures are valid otherwise false</dd>
</dl>
<hr />
<a name="verifyNth"> </a>
<div class="fixedFont">
<b>verifyNth</b>(idx, key, acceptAlgs)
</div>
<div class="description">
verify Nth signature of JWS-JS object by key and acceptAlgs.<br/>
</div>
<pre class="code">jwsjs1 = new KJUR.jws.JWSJS();
jwsjs1.readJWSJS("{headers: [...], payload: "eyJ...", signatures: [...]}");
isValid1 = jwsjs1.verifyNth(0, "-----BEGIN CERT...", ["RS256"]);
isValid2 = jwsjs1.verifyNth(1, {utf8: "secret"}, ["HS256"]);</pre>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{Integer}</span> <b>idx</b>
</dt>
<dd>nth index of JWS-JS signature to verify</dd>
<dt>
<span class="light fixedFont">{Object}</span> <b>key</b>
</dt>
<dd>key to verify</dd>
<dt>
<span class="light fixedFont">{array of String}</span> <b>acceptAlgs</b>
</dt>
<dd>array of acceptable signature algorithms</dd>
</dl>
<dl class="detailList">
<dt class="heading">Since:</dt>
<dd>jwsjs 2.1.0 jsrsasign 5.1.0</dd>
</dl>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd>true if signature is valid otherwise false</dd>
</dl>
<!-- ============================== event details ========================= -->
<hr />
</div>
<!-- ============================== footer ================================= -->
<div class="fineprint" style="clear:both">
© 2012-2017 Kenji Urushima, All rights reserved<br/>
Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0
</div>
</body>
</html>