api-console-assets
Version:
This repo only exists to publish api console components to npm
1,535 lines (916 loc) • 42 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.crypto.ECDSA</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.crypto.ECDSA
</h1>
<!-- ============================== class summary ========================== -->
<p class="description">
class for EC key generation, ECDSA signing and verifcation
<br /><i>Defined in: </i> <a href="../symbols/src/ecdsa-modified-1.0.js.html">ecdsa-modified-1.0.js</a>.
</p>
<!-- ============================== constructor summary ==================== -->
<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class KJUR.crypto.ECDSA.">
<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.crypto.ECDSA.html#constructor">KJUR.crypto.ECDSA</a></b>()
</div>
<div class="description">class for EC key generation, ECDSA signing and verifcation
<p>
CAUTION: Most of the case, you don't need to use this class except
for generating an EC key pair.</div>
</td>
</tr>
</tbody>
</table>
<!-- ============================== properties summary ===================== -->
<!-- ============================== methods summary ======================== -->
<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class KJUR.crypto.ECDSA.">
<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"><static> </td>
<td class="nameDescription">
<div class="fixedFont">KJUR.crypto.ECDSA.<b><a href="../symbols/KJUR.crypto.ECDSA.html#.asn1SigToConcatSig">asn1SigToConcatSig</a></b>(asn1Hex)
</div>
<div class="description">convert hexadecimal ASN.1 encoded signature to concatinated signature</div>
</td>
</tr>
<tr>
<td class="attributes"><static> </td>
<td class="nameDescription">
<div class="fixedFont">KJUR.crypto.ECDSA.<b><a href="../symbols/KJUR.crypto.ECDSA.html#.biRSSigToASN1Sig">biRSSigToASN1Sig</a></b>(biR, biS)
</div>
<div class="description">convert R and S BigInteger object of signature to ASN.1 encoded signature</div>
</td>
</tr>
<tr>
<td class="attributes"><static> </td>
<td class="nameDescription">
<div class="fixedFont">KJUR.crypto.ECDSA.<b><a href="../symbols/KJUR.crypto.ECDSA.html#.concatSigToASN1Sig">concatSigToASN1Sig</a></b>(concatSig)
</div>
<div class="description">convert hexadecimal concatinated signature to ASN.1 encoded signature</div>
</td>
</tr>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/KJUR.crypto.ECDSA.html#generateKeyPairHex">generateKeyPairHex</a></b>()
</div>
<div class="description">generate a EC key pair</div>
</td>
</tr>
<tr>
<td class="attributes"><static> </td>
<td class="nameDescription">
<div class="fixedFont">KJUR.crypto.ECDSA.<b><a href="../symbols/KJUR.crypto.ECDSA.html#.getName">getName</a></b>(s)
</div>
<div class="description">static method to get normalized EC curve name from curve name or hexadecimal OID value
This static method returns normalized EC curve name
which is supported in jsrsasign
from curve name or hexadecimal OID value.</div>
</td>
</tr>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/KJUR.crypto.ECDSA.html#getPublicKeyXYHex">getPublicKeyXYHex</a></b>()
</div>
<div class="description">get X and Y hexadecimal string value of public key</div>
</td>
</tr>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/KJUR.crypto.ECDSA.html#getShortNISTPCurveName">getShortNISTPCurveName</a></b>()
</div>
<div class="description">get NIST curve short name such as "P-256" or "P-384"</div>
</td>
</tr>
<tr>
<td class="attributes"><static> </td>
<td class="nameDescription">
<div class="fixedFont">KJUR.crypto.ECDSA.<b><a href="../symbols/KJUR.crypto.ECDSA.html#.hexRSSigToASN1Sig">hexRSSigToASN1Sig</a></b>(hR, hS)
</div>
<div class="description">convert hexadecimal R and S value of signature to ASN.1 encoded signature</div>
</td>
</tr>
<tr>
<td class="attributes"><static> </td>
<td class="nameDescription">
<div class="fixedFont">KJUR.crypto.ECDSA.<b><a href="../symbols/KJUR.crypto.ECDSA.html#.parseSigHex">parseSigHex</a></b>(sigHex)
</div>
<div class="description">parse ASN.1 DER encoded ECDSA signature</div>
</td>
</tr>
<tr>
<td class="attributes"><static> </td>
<td class="nameDescription">
<div class="fixedFont">KJUR.crypto.ECDSA.<b><a href="../symbols/KJUR.crypto.ECDSA.html#.parseSigHexInHexRS">parseSigHexInHexRS</a></b>(sigHex)
</div>
<div class="description">parse ASN.1 DER encoded ECDSA signature</div>
</td>
</tr>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/KJUR.crypto.ECDSA.html#readCertPubKeyHex">readCertPubKeyHex</a></b>(h, nthPKI)
</div>
<div class="description">read an ASN.1 hexadecimal string of X.509 ECC public key certificate<br/></div>
</td>
</tr>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/KJUR.crypto.ECDSA.html#readPKCS5PrvKeyHex">readPKCS5PrvKeyHex</a></b>(h)
</div>
<div class="description">read an ASN.1 hexadecimal string of PKCS#1/5 plain ECC private key<br/></div>
</td>
</tr>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/KJUR.crypto.ECDSA.html#readPKCS8PrvKeyHex">readPKCS8PrvKeyHex</a></b>(h)
</div>
<div class="description">read an ASN.1 hexadecimal string of PKCS#8 plain ECC private key<br/></div>
</td>
</tr>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/KJUR.crypto.ECDSA.html#readPKCS8PubKeyHex">readPKCS8PubKeyHex</a></b>(h)
</div>
<div class="description">read an ASN.1 hexadecimal string of PKCS#8 ECC public key<br/></div>
</td>
</tr>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/KJUR.crypto.ECDSA.html#signHex">signHex</a></b>(hashHex, privHex)
</div>
<div class="description">signing to message hash</div>
</td>
</tr>
<tr>
<td class="attributes"> </td>
<td class="nameDescription">
<div class="fixedFont"><b><a href="../symbols/KJUR.crypto.ECDSA.html#verifyHex">verifyHex</a></b>(hashHex, sigHex, pubkeyHex)
</div>
<div class="description">verifying signature with message hash and public key</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.crypto.ECDSA</b>()
</div>
<div class="description">
class for EC key generation, ECDSA signing and verifcation
<p>
CAUTION: Most of the case, you don't need to use this class except
for generating an EC key pair. Please use <a href="../symbols/KJUR.crypto.Signature.html">KJUR.crypto.Signature</a> class instead.
</p>
<p>
This class was originally developped by Stefan Thomas for Bitcoin JavaScript library.
(See https://github.com/bitcoinjs/bitcoinjs-lib/blob/master/src/ecdsa.js)
Currently this class supports following named curves and their aliases.
<ul>
<li>secp256r1, NIST P-256, P-256, prime256v1 (*)</li>
<li>secp256k1 (*)</li>
<li>secp384r1, NIST P-384, P-384 (*)</li>
</ul>
</p>
</div>
</div>
<!-- ============================== field details ========================== -->
<!-- ============================== method details ========================= -->
<div class="sectionTitle">
Method Detail
</div>
<a name=".asn1SigToConcatSig"> </a>
<div class="fixedFont"><static>
<span class="light">{String}</span>
<span class="light">KJUR.crypto.ECDSA.</span><b>asn1SigToConcatSig</b>(asn1Hex)
</div>
<div class="description">
convert hexadecimal ASN.1 encoded signature to concatinated signature
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>asn1Hex</b>
</dt>
<dd>hexadecimal string of ASN.1 encoded ECDSA signature value</dd>
</dl>
<dl class="detailList">
<dt class="heading">Since:</dt>
<dd>ecdsa-modified 1.0.3</dd>
</dl>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{String}</span> r-s concatinated format of ECDSA signature value</dd>
</dl>
<hr />
<a name=".biRSSigToASN1Sig"> </a>
<div class="fixedFont"><static>
<span class="light">{String}</span>
<span class="light">KJUR.crypto.ECDSA.</span><b>biRSSigToASN1Sig</b>(biR, biS)
</div>
<div class="description">
convert R and S BigInteger object of signature to ASN.1 encoded signature
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{BigInteger}</span> <b>biR</b>
</dt>
<dd>BigInteger object of R field of ECDSA signature value</dd>
<dt>
<span class="light fixedFont">{BigInteger}</span> <b>biS</b>
</dt>
<dd>BIgInteger object of S field of ECDSA signature value</dd>
</dl>
<dl class="detailList">
<dt class="heading">Since:</dt>
<dd>ecdsa-modified 1.0.3</dd>
</dl>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{String}</span> hexadecimal string of ASN.1 encoded ECDSA signature value</dd>
</dl>
<hr />
<a name=".concatSigToASN1Sig"> </a>
<div class="fixedFont"><static>
<span class="light">{String}</span>
<span class="light">KJUR.crypto.ECDSA.</span><b>concatSigToASN1Sig</b>(concatSig)
</div>
<div class="description">
convert hexadecimal concatinated signature to ASN.1 encoded signature
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>concatSig</b>
</dt>
<dd>r-s concatinated format of ECDSA signature value</dd>
</dl>
<dl class="detailList">
<dt class="heading">Since:</dt>
<dd>ecdsa-modified 1.0.3</dd>
</dl>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{String}</span> hexadecimal string of ASN.1 encoded ECDSA signature value</dd>
</dl>
<hr />
<a name="generateKeyPairHex"> </a>
<div class="fixedFont">
<span class="light">{Array}</span>
<b>generateKeyPairHex</b>()
</div>
<div class="description">
generate a EC key pair
</div>
<pre class="code">var ec = new KJUR.crypto.ECDSA({'curve': 'secp256r1'});
var keypair = ec.generateKeyPairHex();
var pubhex = keypair.ecpubhex; // hexadecimal string of EC public key
var prvhex = keypair.ecprvhex; // hexadecimal string of EC private key (=d)</pre>
<dl class="detailList">
<dt class="heading">Since:</dt>
<dd>ecdsa-modified 1.0.1</dd>
</dl>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{Array}</span> associative array of hexadecimal string of private and public key</dd>
</dl>
<hr />
<a name=".getName"> </a>
<div class="fixedFont"><static>
<span class="light">{String}</span>
<span class="light">KJUR.crypto.ECDSA.</span><b>getName</b>(s)
</div>
<div class="description">
static method to get normalized EC curve name from curve name or hexadecimal OID value
This static method returns normalized EC curve name
which is supported in jsrsasign
from curve name or hexadecimal OID value.
When curve is not supported in jsrsasign, this method returns null.
Normalized name will be "secp*" in jsrsasign.
</div>
<pre class="code">KJUR.crypto.ECDSA.getName("2b8104000a") → "secp256k1"
KJUR.crypto.ECDSA.getName("NIST P-256") → "secp256r1"
KJUR.crypto.ECDSA.getName("P-521") → undefined // not supported</pre>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>s</b>
</dt>
<dd>curve name (ex. P-256) or hexadecimal OID value (ex. 2a86...)</dd>
</dl>
<dl class="detailList">
<dt class="heading">Since:</dt>
<dd>jsrsasign 7.1.0 ecdsa-modified 1.1.0</dd>
</dl>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{String}</span> normalized EC curve name (ex. secp256r1)</dd>
</dl>
<hr />
<a name="getPublicKeyXYHex"> </a>
<div class="fixedFont">
<span class="light">{Array}</span>
<b>getPublicKeyXYHex</b>()
</div>
<div class="description">
get X and Y hexadecimal string value of public key
</div>
<pre class="code">ec = new KJUR.crypto.ECDSA({'curve': 'secp256r1', 'pub': pubHex});
ec.getPublicKeyXYHex() → { x: '01bacf...', y: 'c3bc22...' }</pre>
<dl class="detailList">
<dt class="heading">Since:</dt>
<dd>ecdsa-modified 1.0.5 jsrsasign 5.0.14</dd>
</dl>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{Array}</span> associative array of x and y value of public key</dd>
</dl>
<hr />
<a name="getShortNISTPCurveName"> </a>
<div class="fixedFont">
<span class="light">{String}</span>
<b>getShortNISTPCurveName</b>()
</div>
<div class="description">
get NIST curve short name such as "P-256" or "P-384"
</div>
<pre class="code">ec = new KJUR.crypto.ECDSA({'curve': 'secp256r1', 'pub': pubHex});
ec.getShortPCurveName() → "P-256";</pre>
<dl class="detailList">
<dt class="heading">Since:</dt>
<dd>ecdsa-modified 1.0.5 jsrsasign 5.0.14</dd>
</dl>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{String}</span> short NIST P curve name such as "P-256" or "P-384" if it's NIST P curve otherwise null;</dd>
</dl>
<hr />
<a name=".hexRSSigToASN1Sig"> </a>
<div class="fixedFont"><static>
<span class="light">{String}</span>
<span class="light">KJUR.crypto.ECDSA.</span><b>hexRSSigToASN1Sig</b>(hR, hS)
</div>
<div class="description">
convert hexadecimal R and S value of signature to ASN.1 encoded signature
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>hR</b>
</dt>
<dd>hexadecimal string of R field of ECDSA signature value</dd>
<dt>
<span class="light fixedFont">{String}</span> <b>hS</b>
</dt>
<dd>hexadecimal string of S field of ECDSA signature value</dd>
</dl>
<dl class="detailList">
<dt class="heading">Since:</dt>
<dd>ecdsa-modified 1.0.3</dd>
</dl>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{String}</span> hexadecimal string of ASN.1 encoded ECDSA signature value</dd>
</dl>
<hr />
<a name=".parseSigHex"> </a>
<div class="fixedFont"><static>
<span class="light">{Array}</span>
<span class="light">KJUR.crypto.ECDSA.</span><b>parseSigHex</b>(sigHex)
</div>
<div class="description">
parse ASN.1 DER encoded ECDSA signature
</div>
<pre class="code">var ec = new KJUR.crypto.ECDSA({'curve': 'secp256r1'});
var sig = ec.parseSigHex('30...');
var biR = sig.r; // BigInteger object for 'r' field of signature.
var biS = sig.s; // BigInteger object for 's' field of signature.</pre>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>sigHex</b>
</dt>
<dd>hexadecimal string of ECDSA signature value</dd>
</dl>
<dl class="detailList">
<dt class="heading">Since:</dt>
<dd>ecdsa-modified 1.0.1</dd>
</dl>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{Array}</span> associative array of signature field r and s of BigInteger</dd>
</dl>
<hr />
<a name=".parseSigHexInHexRS"> </a>
<div class="fixedFont"><static>
<span class="light">{Array}</span>
<span class="light">KJUR.crypto.ECDSA.</span><b>parseSigHexInHexRS</b>(sigHex)
</div>
<div class="description">
parse ASN.1 DER encoded ECDSA signature
</div>
<pre class="code">var ec = new KJUR.crypto.ECDSA({'curve': 'secp256r1'});
var sig = ec.parseSigHexInHexRS('30...');
var hR = sig.r; // hexadecimal string for 'r' field of signature.
var hS = sig.s; // hexadecimal string for 's' field of signature.</pre>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>sigHex</b>
</dt>
<dd>hexadecimal string of ECDSA signature value</dd>
</dl>
<dl class="detailList">
<dt class="heading">Since:</dt>
<dd>ecdsa-modified 1.0.3</dd>
</dl>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{Array}</span> associative array of signature field r and s in hexadecimal</dd>
</dl>
<hr />
<a name="readCertPubKeyHex"> </a>
<div class="fixedFont">
<b>readCertPubKeyHex</b>(h, nthPKI)
</div>
<div class="description">
read an ASN.1 hexadecimal string of X.509 ECC public key certificate<br/>
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>h</b>
</dt>
<dd>hexadecimal string of X.509 ECC public key certificate</dd>
<dt>
<span class="light fixedFont">{Integer}</span> <b>nthPKI</b>
</dt>
<dd>nth index of publicKeyInfo. (DEFAULT: 6 for X509v3)</dd>
</dl>
<dl class="detailList">
<dt class="heading">Since:</dt>
<dd>jsrsasign 7.1.0 ecdsa-modified 1.1.0</dd>
</dl>
</dl>
<hr />
<a name="readPKCS5PrvKeyHex"> </a>
<div class="fixedFont">
<b>readPKCS5PrvKeyHex</b>(h)
</div>
<div class="description">
read an ASN.1 hexadecimal string of PKCS#1/5 plain ECC private key<br/>
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>h</b>
</dt>
<dd>hexadecimal string of PKCS#1/5 ECC private key</dd>
</dl>
<dl class="detailList">
<dt class="heading">Since:</dt>
<dd>jsrsasign 7.1.0 ecdsa-modified 1.1.0</dd>
</dl>
</dl>
<hr />
<a name="readPKCS8PrvKeyHex"> </a>
<div class="fixedFont">
<b>readPKCS8PrvKeyHex</b>(h)
</div>
<div class="description">
read an ASN.1 hexadecimal string of PKCS#8 plain ECC private key<br/>
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>h</b>
</dt>
<dd>hexadecimal string of PKCS#8 ECC private key</dd>
</dl>
<dl class="detailList">
<dt class="heading">Since:</dt>
<dd>jsrsasign 7.1.0 ecdsa-modified 1.1.0</dd>
</dl>
</dl>
<hr />
<a name="readPKCS8PubKeyHex"> </a>
<div class="fixedFont">
<b>readPKCS8PubKeyHex</b>(h)
</div>
<div class="description">
read an ASN.1 hexadecimal string of PKCS#8 ECC public key<br/>
</div>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>h</b>
</dt>
<dd>hexadecimal string of PKCS#8 ECC public key</dd>
</dl>
<dl class="detailList">
<dt class="heading">Since:</dt>
<dd>jsrsasign 7.1.0 ecdsa-modified 1.1.0</dd>
</dl>
</dl>
<hr />
<a name="signHex"> </a>
<div class="fixedFont">
<span class="light">{String}</span>
<b>signHex</b>(hashHex, privHex)
</div>
<div class="description">
signing to message hash
</div>
<pre class="code">var ec = new KJUR.crypto.ECDSA({'curve': 'secp256r1'});
var sigValue = ec.signHex(hash, prvKey);</pre>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>hashHex</b>
</dt>
<dd>hexadecimal string of hash value of signing message</dd>
<dt>
<span class="light fixedFont">{String}</span> <b>privHex</b>
</dt>
<dd>hexadecimal string of EC private key</dd>
</dl>
<dl class="detailList">
<dt class="heading">Since:</dt>
<dd>ecdsa-modified 1.0.1</dd>
</dl>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{String}</span> hexadecimal string of ECDSA signature</dd>
</dl>
<hr />
<a name="verifyHex"> </a>
<div class="fixedFont">
<span class="light">{Boolean}</span>
<b>verifyHex</b>(hashHex, sigHex, pubkeyHex)
</div>
<div class="description">
verifying signature with message hash and public key
</div>
<pre class="code">var ec = new KJUR.crypto.ECDSA({'curve': 'secp256r1'});
var result = ec.verifyHex(msgHashHex, sigHex, pubkeyHex);</pre>
<dl class="detailList">
<dt class="heading">Parameters:</dt>
<dt>
<span class="light fixedFont">{String}</span> <b>hashHex</b>
</dt>
<dd>hexadecimal string of hash value of signing message</dd>
<dt>
<span class="light fixedFont">{String}</span> <b>sigHex</b>
</dt>
<dd>hexadecimal string of signature value</dd>
<dt>
<span class="light fixedFont">{String}</span> <b>pubkeyHex</b>
</dt>
<dd>hexadecimal string of public key</dd>
</dl>
<dl class="detailList">
<dt class="heading">Since:</dt>
<dd>ecdsa-modified 1.0.1</dd>
</dl>
</dl>
<dl class="detailList">
<dt class="heading">Returns:</dt>
<dd><span class="light fixedFont">{Boolean}</span> true if the 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>