Class X509
Version
1.0.1 (08 May 2012).
hexadecimal X.509 certificate ASN.1 parser class
Defined in: x509-1.1.js.
| Constructor Attributes | Constructor Name and Description |
|---|---|
|
X509()
hexadecimal X.509 certificate ASN.1 parser class.
|
| Field Attributes | Field Name and Description |
|---|---|
|
hexacedimal string for X.509 certificate.
|
|
|
Tom Wu's RSAKey object
|
|
|
hexadecimal string for public exponent of RSA public key
|
|
|
hexadecimal string for modulus of RSA public key
|
| Method Attributes | Method Name and Description |
|---|---|
| <static> |
X509.getExtAIAInfo(hCert)
get AuthorityInfoAccess extension value in the certificate as associative array
This method will get authority info access value
as associate array which has following properties:
|
| <static> |
X509.getExtAuthorityKeyIdentifier(hCert)
get authorityKeyIdentifier value as JSON object in the certificate
This method will get authority key identifier extension value
as JSON object.
|
| <static> |
X509.getExtBasicConstraints(hCert)
get BasicConstraints extension value as object in the certificate
This method will get basic constraints extension value as object with following paramters.
|
| <static> |
X509.getExtCRLDistributionPointsURI(hCert)
get array of string for fullName URIs in cRLDistributionPoints(CDP) in the certificate
This method will get all fullName URIs of cRLDistributionPoints extension
in the certificate as array of URI string.
|
| <static> |
X509.getExtExtKeyUsageName(hCert)
get extKeyUsage value as array of name string in the certificate
This method will get extended key usage extension value
as array of name or OID string.
|
| <static> |
X509.getExtKeyUsageBin(hCert)
get KeyUsage extension value as binary string in the certificate
This method will get key usage extension value
as binary string such like '101'.
|
| <static> |
X509.getExtKeyUsageString(hCert)
get KeyUsage extension value as names in the certificate
This method will get key usage extension value
as comma separated string of usage names.
|
| <static> |
X509.getExtSubjectAltName(hCert)
get subjectAltName value as array of string in the certificate
This method will get subject alt name extension value
as array of name.
|
| <static> |
X509.getExtSubjectKeyIdentifier(hCert)
get subjectKeyIdentifier value as hexadecimal string in the certificate
This method will get subject key identifier extension value
as hexadecimal string.
|
| <static> |
X509.getHexOfTLV_V3ExtValue(hCert, oidOrName)
get X.509 V3 extension value ASN.1 TLV for specified oid or name
This method will get X.509v3 extension value of ASN.1 TLV
which is specifyed by extension name or oid.
|
| <static> |
X509.getHexOfV_V3ExtValue(hCert, oidOrName)
get X.509 V3 extension value ASN.1 V for specified oid or name
This method will get X.509v3 extension value of ASN.1 value
which is specifyed by extension name or oid.
|
|
getInfo()
get certificate information as string.
|
|
|
get hexadecimal string of issuer field TLV of certificate.
|
|
|
get string of issuer field of certificate.
|
|
|
get notAfter field string of certificate.
|
|
|
get notBefore field string of certificate.
|
|
| <static> |
X509.getPosOfTLV_V3ExtValue(hCert, oidOrName)
get index in the certificate hexa string for specified oid or name specified extension
This method will get X.509v3 extension value of ASN.1 V(value)
which is specifyed by extension name or oid.
|
| <static> |
X509.getPublicKeyFromCertHex(h)
get RSA/DSA/ECDSA public key object from X.509 certificate hexadecimal string
|
| <static> |
X509.getPublicKeyFromCertPEM(sCertPEM)
get RSA/DSA/ECDSA public key object from PEM certificate string
NOTE: DSA is also supported since x509 1.1.2.
|
| <static> |
X509.getPublicKeyInfoPosOfCertHEX(hCert)
get position of subjectPublicKeyInfo field from HEX certificate
get position for SubjectPublicKeyInfo field in the hexadecimal string of
certificate.
|
| <static> |
X509.getPublicKeyInfoPropOfCertPEM(sCertPEM)
get public key information from PEM certificate
Resulted associative array has following properties:
|
|
get hexadecimal string of serialNumber field of certificate.
|
|
|
get signature algorithm name in basic field
This method will get a name of signature algorithm field of certificate:
|
|
| <static> |
X509.getSignatureAlgorithmName(hCert)
get signature algorithm name from hexadecimal certificate data
This method will get signature algorithm name of certificate:
|
| <static> |
X509.getSignatureValueHex(hCert)
get signature value in hexadecimal string
This method will get signature value of certificate:
|
|
get hexadecimal string of subject field of certificate.
|
|
| <static> |
X509.getSubjectPublicKeyInfoPosFromCertHex(hexadecimal)
get a string index of subjectPublicKeyInfo field from hexadecimal certificate
This static method gets a string index of subjectPublicKeyInfo field from hexadecimal certificate. |
| <static> |
X509.getSubjectPublicKeyPosFromCertHex(hexadecimal)
get a string index of contents of subjectPublicKeyInfo BITSTRING value from hexadecimal certificate
|
|
get string of subject field of certificate.
|
|
| <static> |
X509.getV3ExtInfoListOfCertHex(hCert)
get array of X.509 V3 extension value information in hex string of certificate
This method will get all extension information of a X.509 certificate.
|
| <static> |
X509.getV3ExtItemInfo_AtObj(hCert, pos)
get X.509 V3 extension value information at the specified position
This method will get some information of a X.509 V extension
which is referred by an index of hexadecimal string of X.509
certificate.
|
| <static> |
X509.hex2attrTypeValue(hex, idx)
get string from hexadecimal string of ASN.1 DER AttributeTypeAndValue
This static method converts from a hexadecimal string of AttributeTypeAndValue specified by 'hex' and 'idx' to LDAP string representation (ex. |
| <static> |
X509.hex2dn(hex, idx)
get distinguished name string in OpenSSL online format from hexadecimal string of ASN.1 DER X.500 name
This static method converts from a hexadecimal string of distinguished name (DN) specified by 'hex' and 'idx' to OpenSSL oneline string representation (ex. |
| <static> |
X509.hex2rdn(hex, idx)
get relative distinguished name string in OpenSSL online format from hexadecimal string of ASN.1 DER RDN
This static method converts from a hexadecimal string of relative distinguished name (RDN) specified by 'hex' and 'idx' to LDAP string representation (ex. |
| <static> |
X509.pemToBase64(sCertPEM)
get Base64 string from PEM certificate string
|
| <static> |
X509.pemToHex(sCertPEM)
(DEPRECATED) get a hexa decimal string from PEM certificate string
CAUTION: now X509.pemToHex deprecated and is planed to remove in jsrsasign 8.0.0.
|
|
readCertPEM(sCertPEM)
read PEM formatted X.509 certificate from string.
|
|
| <static> |
X509.verifySignature(hCert, pubKey)
verifies signature value by public key
This method verifies signature value of hexadecimal string of
X.509 certificate by specified public key object.
|
Class Detail
X509()
hexadecimal X.509 certificate ASN.1 parser class.
X509 class provides following functionality:
Author: Kenji Urushima.
X509 class provides following functionality:
- parse X.509 certificate ASN.1 structure
- get basic fields, extensions, signature algorithms and signature values
- read PEM certificate
- TO GET FIELDS
- serial - X509#getSerialNumberHex
- issuer - X509#getIssuerHex
- issuer - X509#getIssuerString
- notBefore - X509#getNotBefore
- notAfter - X509#getNotAfter
- subject - X509#getSubjectHex
- subject - X509#getSubjectString
- subjectPublicKeyInfo - X509.getSubjectPublicKeyPosFromCertHex
- subjectPublicKeyInfo - X509.getSubjectPublicKeyInfoPosFromCertHex
- subjectPublicKeyInfo - X509.getPublicKeyFromCertPEM
- signature algorithm - X509.getSignatureAlgorithmName
- signature value - X509.getSignatureValueHex
- TO GET EXTENSIONS
- basicConstraints - X509.getExtBasicConstraints
- keyUsage - X509.getExtKeyUsageBin
- keyUsage - X509.getExtKeyUsageString
- subjectKeyIdentifier - X509.getExtSubjectKeyIdentifier
- authorityKeyIdentifier - X509.getExtAuthorityKeyIdentifier
- extKeyUsage - X509.getExtExtKeyUsageName
- subjectAltName - X509.getExtSubjectAltName
- cRLDistributionPoints - X509.getExtCRLDistributionPointsURI
- authorityInfoAccess - X509.getExtAIAInfo
- UTILITIES
- reading PEM certificate - X509#readCertPEM
- get all certificate information - X509#getInfo
- get Base64 from PEM certificate - X509.pemToBase64
- verify signature value - X509.verifySignature
- get hexadecimal string from PEM certificate - X509.pemToHex (DEPRECATED)
Author: Kenji Urushima.
Field Detail
{String}
hex
hexacedimal string for X.509 certificate.
{RSAKey}
subjectPublicKeyRSA
Tom Wu's RSAKey object
{String}
subjectPublicKeyRSA_hE
hexadecimal string for public exponent of RSA public key
{String}
subjectPublicKeyRSA_hN
hexadecimal string for modulus of RSA public key
Method Detail
<static>
{Object}
X509.getExtAIAInfo(hCert)
get AuthorityInfoAccess extension value in the certificate as associative array
This method will get authority info access value
as associate array which has following properties:
- ocsp - array of string for OCSP responder URL
- caissuer - array of string for caIssuer value (i.e. CA certificates URL)
oAIA = X509.getExtAIAInfo(hCert); // result will be such like: // oAIA.ocsp = ["http://ocsp.foo.com"]; // oAIA.caissuer = ["http://rep.foo.com/aaa.p8m"];
- Parameters:
- {String} hCert
- hexadecimal string of X.509 certificate binary
- Since:
- x509 1.1.6
- Returns:
- {Object} associative array of AIA extension properties
<static>
{Object}
X509.getExtAuthorityKeyIdentifier(hCert)
get authorityKeyIdentifier value as JSON object in the certificate
This method will get authority key identifier extension value
as JSON object.
If there is no its extension in the certificate,
it returns null.
NOTE: Currently this method only supports keyIdentifier so that authorityCertIssuer and authorityCertSerialNumber will not be return in the JSON object.
NOTE: Currently this method only supports keyIdentifier so that authorityCertIssuer and authorityCertSerialNumber will not be return in the JSON object.
akid = X509.getExtAuthorityKeyIdentifier(hCert);
// returns following JSON object
{ kid: "1234abcd..." }
- Parameters:
- {String} hCert
- hexadecimal string of X.509 certificate binary
- Since:
- jsrsasign 5.0.10 x509 1.1.8
- Returns:
- {Object} JSON object of authority key identifier or null
<static>
{Object}
X509.getExtBasicConstraints(hCert)
get BasicConstraints extension value as object in the certificate
This method will get basic constraints extension value as object with following paramters.
- cA - CA flag whether CA or not
- pathLen - maximum intermediate certificate length
- {cA:true, pathLen:3} - cA flag is true and pathLen is 3
- {cA:true} - cA flag is true and no pathLen
- {} - basic constraints has no value in case of end entity certificate
- null - there is no basic constraints extension
obj = X509.getExtBasicConstraints(hCert);
- Parameters:
- {String} hCert
- hexadecimal string of X.509 certificate binary
- Since:
- x509 1.1.7
- Returns:
- {Object} associative array which may have "cA" and "pathLen" parameters
<static>
{Object}
X509.getExtCRLDistributionPointsURI(hCert)
get array of string for fullName URIs in cRLDistributionPoints(CDP) in the certificate
This method will get all fullName URIs of cRLDistributionPoints extension
in the certificate as array of URI string.
If there is no its extension in the certificate,
it returns null.
NOTE: Currently this method supports only fullName URI so that other parameters will not be returned.
NOTE: Currently this method supports only fullName URI so that other parameters will not be returned.
cdpuri = X509.getExtCRLDistributionPointsURI(hCert); // returns following array: ["http://example.com/aaa.crl", "http://example.org/aaa.crl"]
- Parameters:
- {String} hCert
- hexadecimal string of X.509 certificate binary
- Since:
- jsrsasign 5.0.10 x509 1.1.8
- Returns:
- {Object} array of fullName URIs of CDP of the certificate
<static>
{Object}
X509.getExtExtKeyUsageName(hCert)
get extKeyUsage value as array of name string in the certificate
This method will get extended key usage extension value
as array of name or OID string.
If there is no its extension in the certificate,
it returns null.
NOTE: Supported extended key usage ID names are defined in name2oidList parameter in asn1x509.js file.
NOTE: Supported extended key usage ID names are defined in name2oidList parameter in asn1x509.js file.
eku = X509.getExtExtKeyUsageName(hCert); // returns following array: ["serverAuth", "clientAuth", "0.1.2.3.4.5"]
- Parameters:
- {String} hCert
- hexadecimal string of X.509 certificate binary
- Since:
- jsrsasign 5.0.10 x509 1.1.8
- Returns:
- {Object} array of extended key usage ID name or oid
<static>
{String}
X509.getExtKeyUsageBin(hCert)
get KeyUsage extension value as binary string in the certificate
This method will get key usage extension value
as binary string such like '101'.
Key usage bits definition is in the RFC 5280.
If there is no key usage extension in the certificate,
it returns empty string (i.e. '').
bKeyUsage = X509.getExtKeyUsageBin(hCert); // bKeyUsage will be such like '101'. // 1 - digitalSignature // 0 - nonRepudiation // 1 - keyEncipherment
- Parameters:
- {String} hCert
- hexadecimal string of X.509 certificate binary
- Since:
- x509 1.1.6
- Returns:
- {String} binary string of key usage bits (ex. '101')
<static>
{String}
X509.getExtKeyUsageString(hCert)
get KeyUsage extension value as names in the certificate
This method will get key usage extension value
as comma separated string of usage names.
If there is no key usage extension in the certificate,
it returns empty string (i.e. '').
sKeyUsage = X509.getExtKeyUsageString(hCert); // sKeyUsage will be such like 'digitalSignature,keyEncipherment'.
- Parameters:
- {String} hCert
- hexadecimal string of X.509 certificate binary
- Since:
- x509 1.1.6
- Returns:
- {String} comma separated string of key usage
<static>
{Object}
X509.getExtSubjectAltName(hCert)
get subjectAltName value as array of string in the certificate
This method will get subject alt name extension value
as array of name.
If there is no its extension in the certificate,
it returns null.
NOTE: Currently this method supports only dNSName so that other name type such like iPAddress or generalName will not be returned.
NOTE: Currently this method supports only dNSName so that other name type such like iPAddress or generalName will not be returned.
san = X509.getExtSubjectAltName(hCert); // returns following array: ["example.com", "example.org"]
- Parameters:
- {String} hCert
- hexadecimal string of X.509 certificate binary
- Since:
- jsrsasign 5.0.10 x509 1.1.8
- Returns:
- {Object} array of alt names
<static>
{String}
X509.getExtSubjectKeyIdentifier(hCert)
get subjectKeyIdentifier value as hexadecimal string in the certificate
This method will get subject key identifier extension value
as hexadecimal string.
If there is no its extension in the certificate,
it returns null.
skid = X509.getExtSubjectKeyIdentifier(hCert);
- Parameters:
- {String} hCert
- hexadecimal string of X.509 certificate binary
- Since:
- jsrsasign 5.0.10 x509 1.1.8
- Returns:
- {String} hexadecimal string of subject key identifier or null
<static>
{String}
X509.getHexOfTLV_V3ExtValue(hCert, oidOrName)
get X.509 V3 extension value ASN.1 TLV for specified oid or name
This method will get X.509v3 extension value of ASN.1 TLV
which is specifyed by extension name or oid.
If there is no such extension in the certificate, it returns null.
hExtValue = X509.getHexOfTLV_V3ExtValue(hCert, "keyUsage"); // hExtValue will be such like '030205a0'.
- Parameters:
- {String} hCert
- hexadecimal string of X.509 certificate binary
- {String} oidOrName
- oid or name for extension (ex. 'keyUsage' or '2.5.29.15')
- Since:
- x509 1.1.6
- Returns:
- {String} hexadecimal string of extension ASN.1 TLV
<static>
{String}
X509.getHexOfV_V3ExtValue(hCert, oidOrName)
get X.509 V3 extension value ASN.1 V for specified oid or name
This method will get X.509v3 extension value of ASN.1 value
which is specifyed by extension name or oid.
If there is no such extension in the certificate, it returns null.
Available extension names and oids are defined
in the KJUR.asn1.x509.OID class.
hExtValue = X509.getHexOfV_V3ExtValue(hCert, "keyUsage"); // hExtValue will be such like '05a0'.
- Parameters:
- {String} hCert
- hexadecimal string of X.509 certificate binary
- {String} oidOrName
- oid or name for extension (ex. 'keyUsage' or '2.5.29.15')
- Since:
- x509 1.1.6
- Returns:
- {String} hexadecimal string of extension ASN.1 TLV
{String}
getInfo()
get certificate information as string.
x = new X509();
x.readCertPEM(certPEM);
console.log(x.getInfo());
// this shows as following
Basic Fields
serial number: 02ac5c266a0b409b8f0b79f2ae462577
signature algorithm: SHA1withRSA
issuer: /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV Root CA
notBefore: 061110000000Z
notAfter: 311110000000Z
subject: /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV Root CA
subject public key info:
key algorithm: RSA
n=c6cce573e6fbd4bb...
e=10001
X509v3 Extensions:
keyUsage CRITICAL:
digitalSignature,keyCertSign,cRLSign
basicConstraints CRITICAL:
cA=true
subjectKeyIdentifier :
b13ec36903f8bf4701d498261a0802ef63642bc3
authorityKeyIdentifier :
kid=b13ec36903f8bf4701d498261a0802ef63642bc3
signature algorithm: SHA1withRSA
signature: 1c1a0697dcd79c9f...
- Since:
- jsrsasign 5.0.10 x509 1.1.8
- Returns:
- {String} certificate information string
{String}
getIssuerHex()
get hexadecimal string of issuer field TLV of certificate.
var x = new X509(); x.readCertPEM(sCertPEM); var issuer = x.getIssuerHex(); // return string like "3013..."
- Returns:
- {String} hexadecial string of issuer DN ASN.1
{String}
getIssuerString()
get string of issuer field of certificate.
var x = new X509(); x.readCertPEM(sCertPEM); var issuer = x.getIssuerString(); // return string like "/C=US/O=TEST"
- Returns:
- {String} issuer DN string
{String}
getNotAfter()
get notAfter field string of certificate.
var x = new X509(); x.readCertPEM(sCertPEM); var notAfter = x.getNotAfter(); // return string like "151231235959Z"
- Returns:
- {String} not after time value (ex. "151231235959Z")
{String}
getNotBefore()
get notBefore field string of certificate.
var x = new X509(); x.readCertPEM(sCertPEM); var notBefore = x.getNotBefore(); // return string like "151231235959Z"
- Returns:
- {String} not before time value (ex. "151231235959Z")
<static>
{Integer}
X509.getPosOfTLV_V3ExtValue(hCert, oidOrName)
get index in the certificate hexa string for specified oid or name specified extension
This method will get X.509v3 extension value of ASN.1 V(value)
which is specifyed by extension name or oid.
If there is no such extension in the certificate,
it returns -1.
Available extension names and oids are defined
in the KJUR.asn1.x509.OID class.
idx = X509.getPosOfV_V3ExtValue(hCert, "keyUsage"); // The 'idx' will be index in the string for keyUsage value ASN.1 TLV.
- Parameters:
- {String} hCert
- hexadecimal string of X.509 certificate binary
- {String} oidOrName
- oid or name for extension (ex. 'keyUsage' or '2.5.29.15')
- Since:
- x509 1.1.6
- Returns:
- {Integer} index in the hexadecimal string of certficate for specified extension
<static>
X509.getPublicKeyFromCertHex(h)
get RSA/DSA/ECDSA public key object from X.509 certificate hexadecimal string
- Parameters:
- {String} h
- hexadecimal string of X.509 certificate for RSA/ECDSA/DSA public key
- Since:
- jsrasign 7.1.0 x509 1.1.11
- Returns:
- returns RSAKey/KJUR.crypto.{ECDSA,DSA} object of public key
<static>
X509.getPublicKeyFromCertPEM(sCertPEM)
get RSA/DSA/ECDSA public key object from PEM certificate string
NOTE: DSA is also supported since x509 1.1.2.
- Parameters:
- {String} sCertPEM
- PEM formatted RSA/ECDSA/DSA X.509 certificate
- Since:
- x509 1.1.1
- Returns:
- returns RSAKey/KJUR.crypto.{ECDSA,DSA} object of public key
<static>
{Integer}
X509.getPublicKeyInfoPosOfCertHEX(hCert)
get position of subjectPublicKeyInfo field from HEX certificate
get position for SubjectPublicKeyInfo field in the hexadecimal string of
certificate.
- Parameters:
- {String} hCert
- hexadecimal string of certificate
- Since:
- x509 1.1.4
- Returns:
- {Integer} position in hexadecimal string
<static>
{Hash}
X509.getPublicKeyInfoPropOfCertPEM(sCertPEM)
get public key information from PEM certificate
Resulted associative array has following properties:
- algoid - hexadecimal string of OID of asymmetric key algorithm
- algparam - hexadecimal string of OID of ECC curve name or null
- keyhex - hexadecimal string of key in the certificate
- Parameters:
- {String} sCertPEM
- string of PEM formatted certificate
- Since:
- x509 1.1.1
- Returns:
- {Hash} hash of information for public key
{String}
getSerialNumberHex()
get hexadecimal string of serialNumber field of certificate.
var x = new X509(); x.readCertPEM(sCertPEM); var sn = x.getSerialNumberHex(); // return string like "01ad..."
- Returns:
- {String} hexadecimal string of certificate serial number
{String}
getSignatureAlgorithmField()
get signature algorithm name in basic field
This method will get a name of signature algorithm field of certificate:
var x = new X509(); x.readCertPEM(sCertPEM); algName = x.getSignatureAlgorithmField();
- Since:
- x509 1.1.8
- Returns:
- {String} signature algorithm name (ex. SHA1withRSA, SHA256withECDSA)
<static>
{String}
X509.getSignatureAlgorithmName(hCert)
get signature algorithm name from hexadecimal certificate data
This method will get signature algorithm name of certificate:
algName = X509.getSignatureAlgorithmName(hCert);
- Parameters:
- {String} hCert
- hexadecimal string of X.509 certificate binary
- Since:
- x509 1.1.7
- Returns:
- {String} signature algorithm name (ex. SHA1withRSA, SHA256withECDSA)
<static>
{String}
X509.getSignatureValueHex(hCert)
get signature value in hexadecimal string
This method will get signature value of certificate:
sigHex = X509.getSignatureValueHex(hCert);
- Parameters:
- {String} hCert
- hexadecimal string of X.509 certificate binary
- Since:
- x509 1.1.7
- Returns:
- {String} signature value hexadecimal string without BitString unused bits
{String}
getSubjectHex()
get hexadecimal string of subject field of certificate.
var x = new X509(); x.readCertPEM(sCertPEM); var subject = x.getSubjectHex(); // return string like "3013..."
- Returns:
- {String} hexadecial string of subject DN ASN.1
<static>
{Integer}
X509.getSubjectPublicKeyInfoPosFromCertHex(hexadecimal)
get a string index of subjectPublicKeyInfo field from hexadecimal certificate
This static method gets a string index of subjectPublicKeyInfo field from hexadecimal certificate.
NOTE1: privateKeyUsagePeriod field of X509v2 not supported.
NOTE2: X.509v1 and X.509v3 certificate are supported.
This static method gets a string index of subjectPublicKeyInfo field from hexadecimal certificate.
NOTE1: privateKeyUsagePeriod field of X509v2 not supported.
NOTE2: X.509v1 and X.509v3 certificate are supported.
idx = X509.getSubjectPublicKeyInfoPosFromCertHex("3082...");
- Parameters:
- {String} hexadecimal
- string of DER RSA/ECDSA/DSA X.509 certificate
- Returns:
- {Integer} string index of subjectPublicKeyInfo field
<static>
{Integer}
X509.getSubjectPublicKeyPosFromCertHex(hexadecimal)
get a string index of contents of subjectPublicKeyInfo BITSTRING value from hexadecimal certificate
idx = X509.getSubjectPublicKeyPosFromCertHex("3082...");
- Parameters:
- {String} hexadecimal
- string of DER RSA/ECDSA/DSA X.509 certificate
- Returns:
- {Integer} string index of key contents
{String}
getSubjectString()
get string of subject field of certificate.
var x = new X509(); x.readCertPEM(sCertPEM); var subject = x.getSubjectString(); // return string like "/C=US/O=TEST"
- Returns:
- {String} subject DN string
<static>
{Array}
X509.getV3ExtInfoListOfCertHex(hCert)
get array of X.509 V3 extension value information in hex string of certificate
This method will get all extension information of a X.509 certificate.
Items of resulting array has following properties:
- posTLV - index of ASN.1 TLV for the extension. same as 'pos' argument.
- oid - dot noted string of extension oid (ex. 2.5.29.14)
- critical - critical flag value for this extension
- posV - index of ASN.1 TLV for the extension value. This is a position of a content of ENCAPSULATED OCTET STRING.
hCert = ASN1HEX.pemToHex(certGithubPEM);
a = X509.getV3ExtInfoListOfCertHex(hCert);
// Then a will be an array of like following:
[{posTLV: 1952, oid: "2.5.29.35", critical: false, posV: 1968},
{posTLV: 1974, oid: "2.5.29.19", critical: true, posV: 1986}, ...]
- Parameters:
- {String} hCert
- hexadecimal string of X.509 certificate binary
- Since:
- x509 1.1.5
- Returns:
- {Array} array of result object by X509.getV3ExtInfoListOfCertHex
<static>
{Object}
X509.getV3ExtItemInfo_AtObj(hCert, pos)
get X.509 V3 extension value information at the specified position
This method will get some information of a X.509 V extension
which is referred by an index of hexadecimal string of X.509
certificate.
Resulting object has following properties:
- posTLV - index of ASN.1 TLV for the extension. same as 'pos' argument.
- oid - dot noted string of extension oid (ex. 2.5.29.14)
- critical - critical flag value for this extension
- posV - index of ASN.1 TLV for the extension value. This is a position of a content of ENCAPSULATED OCTET STRING.
- Parameters:
- {String} hCert
- hexadecimal string of X.509 certificate binary
- {Integer} pos
- index of hexadecimal string for the extension
- Since:
- x509 1.1.5
- Returns:
- {Object} properties for the extension
<static>
{String}
X509.hex2attrTypeValue(hex, idx)
get string from hexadecimal string of ASN.1 DER AttributeTypeAndValue
This static method converts from a hexadecimal string of AttributeTypeAndValue specified by 'hex' and 'idx' to LDAP string representation (ex. C=US).
This static method converts from a hexadecimal string of AttributeTypeAndValue specified by 'hex' and 'idx' to LDAP string representation (ex. C=US).
X509.hex2attrTypeValue("3008060355040a0c0161") → O=a
X509.hex2attrTypeValue("300806035504060c0161") → C=a
X509.hex2attrTypeValue("...3008060355040a0c0161...", 128) → O=a
- Parameters:
- {String} hex
- hexadecimal string of ASN.1 DER concludes AttributeTypeAndValue
- {Integer} idx
- index of hexadecimal string (DEFAULT=0)
- Returns:
- {String} string representation of AttributeTypeAndValue (ex. C=US)
<static>
{String}
X509.hex2dn(hex, idx)
get distinguished name string in OpenSSL online format from hexadecimal string of ASN.1 DER X.500 name
This static method converts from a hexadecimal string of distinguished name (DN) specified by 'hex' and 'idx' to OpenSSL oneline string representation (ex. /C=US/O=a).
This static method converts from a hexadecimal string of distinguished name (DN) specified by 'hex' and 'idx' to OpenSSL oneline string representation (ex. /C=US/O=a).
X509.hex2dn("3031310b3...") → /C=US/O=a/CN=b2+OU=b1
- Parameters:
- {String} hex
- hexadecimal string of ASN.1 DER distinguished name
- {Integer} idx
- index of hexadecimal string (DEFAULT=0)
- Returns:
- {String} OpenSSL online format distinguished name
<static>
{String}
X509.hex2rdn(hex, idx)
get relative distinguished name string in OpenSSL online format from hexadecimal string of ASN.1 DER RDN
This static method converts from a hexadecimal string of relative distinguished name (RDN) specified by 'hex' and 'idx' to LDAP string representation (ex. O=test+CN=test).
NOTE: Multi-valued RDN is supported since jsnrsasign 6.2.2 x509 1.1.10.
This static method converts from a hexadecimal string of relative distinguished name (RDN) specified by 'hex' and 'idx' to LDAP string representation (ex. O=test+CN=test).
NOTE: Multi-valued RDN is supported since jsnrsasign 6.2.2 x509 1.1.10.
X509.hex2rdn("310a3008060355040a0c0161") → O=a
X509.hex2rdn("31143008060355040a0c01613008060355040a0c0162") → O=a+O=b
- Parameters:
- {String} hex
- hexadecimal string of ASN.1 DER concludes relative distinguished name
- {Integer} idx
- index of hexadecimal string (DEFAULT=0)
- Returns:
- {String} OpenSSL online format relative distinguished name
<static>
{String}
X509.pemToBase64(sCertPEM)
get Base64 string from PEM certificate string
b64 = X509.pemToBase64(certPEM);
- Parameters:
- {String} sCertPEM
- PEM formatted RSA/ECDSA/DSA X.509 certificate
- Returns:
- {String} Base64 string of PEM certificate
<static>
{String}
X509.pemToHex(sCertPEM)
(DEPRECATED) get a hexa decimal string from PEM certificate string
CAUTION: now X509.pemToHex deprecated and is planed to remove in jsrsasign 8.0.0.
hex = X509.pemToHex(certPEM);
- Parameters:
- {String} sCertPEM
- PEM formatted RSA/ECDSA/DSA X.509 certificate
- Deprecated:
- from x509 1.1.11 jsrsasign 7.0.1. please move to ASN1HEX.pemToHex
- Returns:
- {String} hexadecimal string of PEM certificate
readCertPEM(sCertPEM)
read PEM formatted X.509 certificate from string.
x = new X509(); x.readCertPEM(sCertPEM); // read certificate
- Parameters:
- {String} sCertPEM
- string for PEM formatted X.509 certificate
<static>
{Boolean}
X509.verifySignature(hCert, pubKey)
verifies signature value by public key
This method verifies signature value of hexadecimal string of
X.509 certificate by specified public key object.
pubKey = KEYUTIL.getKey(pemPublicKey); // or certificate hCert = ASN1HEX.pemToHex(pemCert); isValid = X509.verifySignature(hCert, pubKey);
- Parameters:
- {String} hCert
- hexadecimal string of X.509 certificate binary
- {Object} pubKey
- public key object
- Since:
- jsrsasign 7.1.1 x509 1.1.12
- Returns:
- {Boolean} true if signature value is valid otherwise false