2019-07-04 11:54:16 -05:00
// Attention: Partial Type Definition
declare module 'jsrsasign' {
//// HELPER TYPES
/ * *
* Attention : The value might be changed by the function .
* /
type Mutable < T > = T ;
/ * *
* Deprecated : The function might be deleted in future release .
* /
type Deprecated < T > = T ;
//// COMMON TYPES
/ * *
* byte number
* /
type ByteNumber = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 ;
/ * *
* hexadecimal string / [ 0 - 9 A - F ] /
* /
type HexString = string ;
/ * *
* binary string / [ 01 ] /
* /
type BinString = string ;
/ * *
* base64 string / [ A - Za - z0 - 9 + /]=+/
* /
type Base64String = string ;
/ * *
* base64 URL encoded string / [ A - Za - z0 - 9 _ - ] /
* /
type Base64URLString = string ;
/ * *
* time value ( ex . "151231235959Z" )
* /
type TimeValue = string ;
/ * *
* OID string ( ex . '1.2.3.4.567' )
* /
type OID = string ;
/ * *
* OID name
* /
type OIDName = string ;
/ * *
* PEM formatted string
* /
type PEM = string ;
//// ASN1 TYPES
class ASN1Object {
public isModified : boolean ;
public hTLV : ASN1TLV ;
public hT : ASN1T ;
public hL : ASN1L ;
public hV : ASN1V ;
public getLengthHexFromValue ( ) : HexString ;
public getEncodedHex ( ) : ASN1TLV ;
public getValueHex ( ) : ASN1V ;
public getFreshValueHex ( ) : ASN1V ;
}
class DERAbstractStructured extends ASN1Object {
constructor ( params? : Partial < Record < ' array ' , ASN1Object [ ] > > ) ;
public setByASN1ObjectArray ( asn1ObjectArray : ASN1Object [ ] ) : void ;
public appendASN1Object ( asn1Object : ASN1Object ) : void ;
}
class DERSequence extends DERAbstractStructured {
constructor ( params? : Partial < Record < ' array ' , ASN1Object [ ] > > ) ;
public getFreshValueHex ( ) : ASN1V ;
}
//// ASN1HEX TYPES
/ * *
* ASN . 1 DER encoded data ( hexadecimal string )
* /
type ASN1S = HexString ;
/ * *
* index of something
* /
type Idx < T extends { [ idx : string ] : unknown } | { [ idx : number ] : unknown } > = ASN1S extends { [ idx : string ] : unknown } ? string : ASN1S extends { [ idx : number ] : unknown } ? number : never ;
/ * *
* byte length of something
* /
type ByteLength < T extends { length : unknown } > = T [ 'length' ] ;
/ * *
* ASN . 1 L ( length ) ( hexadecimal string )
* /
type ASN1L = HexString ;
/ * *
* ASN . 1 T ( tag ) ( hexadecimal string )
* /
type ASN1T = HexString ;
/ * *
* ASN . 1 V ( value ) ( hexadecimal string )
* /
type ASN1V = HexString ;
/ * *
* ASN . 1 TLV ( hexadecimal string )
* /
type ASN1TLV = HexString ;
/ * *
* ASN . 1 object string
* /
type ASN1ObjectString = string ;
/ * *
* nth
* /
type Nth = number ;
/ * *
* ASN . 1 DER encoded OID value ( hexadecimal string )
* /
type ASN1OIDV = HexString ;
class ASN1HEX {
public static getLblen ( s : ASN1S , idx : Idx < ASN1S > ) : ByteLength < ASN1L > ;
public static getL ( s : ASN1S , idx : Idx < ASN1S > ) : ASN1L ;
public static getVblen ( s : ASN1S , idx : Idx < ASN1S > ) : ByteLength < ASN1V > ;
public static getVidx ( s : ASN1S , idx : Idx < ASN1S > ) : Idx < ASN1V > ;
public static getV ( s : ASN1S , idx : Idx < ASN1S > ) : ASN1V ;
public static getTLV ( s : ASN1S , idx : Idx < ASN1S > ) : ASN1TLV ;
public static getNextSiblingIdx ( s : ASN1S , idx : Idx < ASN1S > ) : Idx < ASN1ObjectString > ;
public static getChildIdx ( h : ASN1S , pos : Idx < ASN1S > ) : Idx < ASN1ObjectString > [ ] ;
public static getNthChildIdx ( h : ASN1S , idx : Idx < ASN1S > , nth : Nth ) : Idx < ASN1ObjectString > ;
public static getIdxbyList ( h : ASN1S , currentIndex : Idx < ASN1ObjectString > , nthList : Mutable < Nth [ ] > , checkingTag? : string ) : Idx < Mutable < Nth [ ] > > ;
public static getTLVbyList ( h : ASN1S , currentIndex : Idx < ASN1ObjectString > , nthList : Mutable < Nth [ ] > , checkingTag? : string ) : ASN1TLV ;
2020-03-03 20:45:33 -06:00
// tslint:disable-next-line:bool-param-default
2019-07-04 11:54:16 -05:00
public static getVbyList ( h : ASN1S , currentIndex : Idx < ASN1ObjectString > , nthList : Mutable < Nth [ ] > , checkingTag? : string , removeUnusedbits? : boolean ) : ASN1V ;
public static hextooidstr ( hex : ASN1OIDV ) : OID ;
public static dump ( hexOrObj : ASN1S | ASN1Object , flags? : Record < string , unknown > , idx? : Idx < ASN1S > , indent? : string ) : string ;
public static isASN1HEX ( hex : string ) : hex is HexString ;
public static oidname ( oidDotOrHex : OID | ASN1OIDV ) : OIDName ;
}
//// BIG INTEGER TYPES (PARTIAL)
class BigInteger {
constructor ( a : null ) ;
constructor ( a : number , b : SecureRandom ) ;
constructor ( a : number , b : number , c : SecureRandom ) ;
constructor ( a : unknown ) ;
constructor ( a : string , b : number ) ;
public am ( i : number , x : number , w : number , j : number , c : number , n : number ) : number ;
public DB : number ;
public DM : number ;
public DV : number ;
public FV : number ;
public F1 : number ;
public F2 : number ;
protected copyTo ( r : Mutable < BigInteger > ) : void ;
protected fromInt ( x : number ) : void ;
protected fromString ( s : string , b : number ) : void ;
protected clamp ( ) : void ;
public toString ( b : number ) : string ;
public negate ( ) : BigInteger ;
public abs ( ) : BigInteger ;
public compareTo ( a : BigInteger ) : number ;
public bitLength ( ) : number ;
protected dlShiftTo ( n : number , r : Mutable < BigInteger > ) : void ;
protected drShiftTo ( n : number , r : Mutable < BigInteger > ) : void ;
protected lShiftTo ( n : number , r : Mutable < BigInteger > ) : void ;
protected rShiftTo ( n : number , r : Mutable < BigInteger > ) : void ;
protected subTo ( a : BigInteger , r : Mutable < BigInteger > ) : void ;
protected multiplyTo ( a : BigInteger , r : Mutable < BigInteger > ) : void ;
protected squareTo ( r : Mutable < BigInteger > ) : void ;
protected divRemTo ( m : BigInteger , q : Mutable < BigInteger > , r : Mutable < BigInteger > ) : void ;
public mod ( a : BigInteger ) : BigInteger ;
protected invDigit ( ) : number ;
protected isEven ( ) : boolean ;
protected exp ( e : number , z : Classic | Montgomery ) : BigInteger ;
public modPowInt ( e : number , m : BigInteger ) : BigInteger ;
public static ZERO : BigInteger ;
public static ONE : BigInteger ;
}
class Classic {
constructor ( m : BigInteger ) ;
public convert ( x : BigInteger ) : BigInteger ;
public revert ( x : BigInteger ) : BigInteger ;
public reduce ( x : Mutable < BigInteger > ) : void ;
public mulTo ( x : BigInteger , r : Mutable < BigInteger > ) : void ;
public sqrTo ( x : BigInteger , y : BigInteger , r : Mutable < BigInteger > ) : void ;
}
class Montgomery {
constructor ( m : BigInteger ) ;
public convert ( x : BigInteger ) : BigInteger ;
public revert ( x : BigInteger ) : BigInteger ;
public reduce ( x : Mutable < BigInteger > ) : void ;
public mulTo ( x : BigInteger , r : Mutable < BigInteger > ) : void ;
public sqrTo ( x : BigInteger , y : BigInteger , r : Mutable < BigInteger > ) : void ;
}
//// KEYUTIL TYPES
type DecryptAES = ( dataHex : HexString , keyHex : HexString , ivHex : HexString ) = > HexString ;
type Decrypt3DES = ( dataHex : HexString , keyHex : HexString , ivHex : HexString ) = > HexString ;
type DecryptDES = ( dataHex : HexString , keyHex : HexString , ivHex : HexString ) = > HexString ;
type EncryptAES = ( dataHex : HexString , keyHex : HexString , ivHex : HexString ) = > HexString ;
type Encrypt3DES = ( dataHex : HexString , keyHex : HexString , ivHex : HexString ) = > HexString ;
type EncryptDES = ( dataHex : HexString , keyHex : HexString , ivHex : HexString ) = > HexString ;
type AlgList = {
'AES-256-CBC' : { 'proc' : DecryptAES ; 'eproc' : EncryptAES ; keylen : 32 ; ivlen : 16 ; } ;
'AES-192-CBC' : { 'proc' : DecryptAES ; 'eproc' : EncryptAES ; keylen : 24 ; ivlen : 16 ; } ;
'AES-128-CBC' : { 'proc' : DecryptAES ; 'eproc' : EncryptAES ; keylen : 16 ; ivlen : 16 ; } ;
'DES-EDE3-CBC' : { 'proc' : Decrypt3DES ; 'eproc' : Encrypt3DES ; keylen : 24 ; ivlen : 8 ; } ;
'DES-CBC' : { 'proc' : DecryptDES ; 'eproc' : EncryptDES ; keylen : 8 ; ivlen : 8 ; } ;
} ;
type AlgName = keyof AlgList ;
type PEMHeadAlgName = 'RSA' | 'EC' | 'DSA' ;
type GetKeyRSAParam = RSAKey | {
n : BigInteger ;
e : number ;
} | Record < 'n' | 'e' , HexString > | Record < 'n' | 'e' , HexString > & Record < 'd' | 'p' | 'q' | 'dp' | 'dq' | 'co' , HexString | null > | {
n : BigInteger ;
e : number ;
d : BigInteger ;
} | {
kty : 'RSA' ;
} & Record < 'n' | 'e' , Base64URLString > | {
kty : 'RSA' ;
} & Record < 'n' | 'e' | 'd' | 'p' | 'q' | 'dp' | 'dq' | 'qi' , Base64URLString > | {
kty : 'RSA' ;
} & Record < 'n' | 'e' | 'd' , Base64URLString > ;
type GetKeyECDSAParam = KJUR . crypto . ECDSA | {
curve : KJUR.crypto.CurveName ;
xy : HexString ;
} | {
curve : KJUR.crypto.CurveName ;
d : HexString ;
} | {
kty : 'EC' ;
crv : KJUR.crypto.CurveName ;
x : Base64URLString ;
y : Base64URLString ;
} | {
kty : 'EC' ;
crv : KJUR.crypto.CurveName ;
x : Base64URLString ;
y : Base64URLString ;
d : Base64URLString ;
} ;
type GetKeyDSAParam = KJUR . crypto . DSA | Record < 'p' | 'q' | 'g' , BigInteger > & Record < 'y' , BigInteger | null > | Record < 'p' | 'q' | 'g' | 'x' , BigInteger > & Record < 'y' , BigInteger | null > ;
type GetKeyParam = GetKeyRSAParam | GetKeyECDSAParam | GetKeyDSAParam | string ;
class KEYUTIL {
public version : '1.0.0' ;
public parsePKCS5PEM ( sPKCS5PEM : PEM ) : Partial < Record < ' type ' | ' s ' , string > > & ( Record < 'cipher' | 'ivsalt' , string > | Record < 'cipher' | 'ivsalt' , undefined > ) ;
public getKeyAndUnusedIvByPasscodeAndIvsalt ( algName : AlgName , passcode : string , ivsaltHex : HexString ) : Record < 'keyhex' | 'ivhex' , HexString > ;
public decryptKeyB64 ( privateKeyB64 : Base64String , sharedKeyAlgName : AlgName , sharedKeyHex : HexString , ivsaltHex : HexString ) : Base64String ;
public getDecryptedKeyHex ( sEncryptedPEM : PEM , passcode : string ) : HexString ;
public getEncryptedPKCS5PEMFromPrvKeyHex ( pemHeadAlg : PEMHeadAlgName , hPrvKey : string , passcode : string , sharedKeyAlgName? : AlgName | null , ivsaltHex? : HexString | null ) : PEM ;
public parseHexOfEncryptedPKCS8 ( sHEX : HexString ) : {
ciphertext : ASN1V ;
encryptionSchemeAlg : 'TripleDES' ;
encryptionSchemeIV : ASN1V ;
pbkdf2Salt : ASN1V ;
pbkdf2Iter : number ;
} ;
public getPBKDF2KeyHexFromParam ( info : ReturnType < this [ ' parseHexOfEncryptedPKCS8 ' ] > , passcode : string ) : HexString ;
private _getPlainPKCS8HexFromEncryptedPKCS8PEM ( pkcs8PEM : PEM , passcode : string ) : HexString ;
public getKeyFromEncryptedPKCS8PEM ( prvKeyHex : HexString ) : ReturnType < this [ ' getKeyFromPlainPrivatePKCS8Hex ' ] > ;
public parsePlainPrivatePKCS8Hex ( pkcs8PrvHex : HexString ) : {
algparam : ASN1V | null ;
algoid : ASN1V ;
keyidx : Idx < ASN1V > ;
} ;
public getKeyFromPlainPrivatePKCS8PEM ( prvKeyHex : HexString ) : ReturnType < this [ ' getKeyFromPlainPrivatePKCS8Hex ' ] > ;
public getKeyFromPlainPrivatePKCS8Hex ( prvKeyHex : HexString ) : RSAKey | KJUR . crypto . DSA | KJUR . crypto . ECDSA ;
private _getKeyFromPublicPKCS8Hex ( h : HexString ) : RSAKey | KJUR . crypto . DSA | KJUR . crypto . ECDSA ;
public parsePublicRawRSAKeyHex ( pubRawRSAHex : HexString ) : Record < 'n' | 'e' , ASN1V > ;
public parsePublicPKCS8Hex ( pkcs8PubHex : HexString ) : {
algparam : ASN1V | Record < 'p' | 'q' | 'g' , ASN1V > | null ;
algoid : ASN1V ;
key : ASN1V ;
} ;
public static getKey ( param : GetKeyRSAParam ) : RSAKey ;
public static getKey ( param : GetKeyECDSAParam ) : KJUR . crypto . ECDSA ;
public static getKey ( param : GetKeyDSAParam ) : KJUR . crypto . DSA ;
public static getKey ( param : string , passcode? : string , hextype? : string ) : RSAKey | KJUR . crypto . ECDSA | KJUR . crypto . DSA ;
public static generateKeypair ( alg : 'RSA' , keylen : number ) : Record < 'prvKeyObj' | 'pubKeyObj' , RSAKey > ;
public static generateKeypair ( alg : 'EC' , curve : KJUR.crypto.CurveName ) : Record < 'prvKeyObj' | 'pubKeyObj' , KJUR . crypto . ECDSA > ;
public static getPEM ( keyObjOrHex : RSAKey | KJUR . crypto . ECDSA | KJUR . crypto . DSA , formatType ? : 'PKCS1PRV' | 'PKCS5PRV' | 'PKCS8PRV' , passwd? : string , encAlg ? : 'DES-CBC' | 'DES-EDE3-CBC' | 'AES-128-CBC' | 'AES-192-CBC' | 'AES-256-CBC' , hexType? : string , ivsaltHex? : HexString ) : object ; // To Do
public static getKeyFromCSRPEM ( csrPEM : PEM ) : RSAKey | KJUR . crypto . ECDSA | KJUR . crypto . DSA ;
public static getKeyFromCSRHex ( csrHex : HexString ) : RSAKey | KJUR . crypto . ECDSA | KJUR . crypto . DSA ;
public static parseCSRHex ( csrHex : HexString ) : Record < 'p8pubkeyhex' , ASN1TLV > ;
public static getJWKFromKey ( keyObj : RSAKey ) : {
kty : 'RSA' ;
} & Record < 'n' | 'e' | 'd' | 'p' | 'q' | 'dp' | 'dq' | 'qi' , Base64URLString > | {
kty : 'RSA' ;
} & Record < 'n' | 'e' , Base64URLString > ;
public static getJWKFromKey ( keyObj : KJUR.crypto.ECDSA ) : {
kty : 'EC' ;
crv : KJUR.crypto.CurveName ;
x : Base64URLString ;
y : Base64URLString ;
d : Base64URLString ;
} | {
kty : 'EC' ;
crv : KJUR.crypto.CurveName ;
x : Base64URLString ;
y : Base64URLString ;
} ;
}
//// KJUR NAMESPACE (PARTIAL)
namespace KJUR {
namespace crypto {
type CurveName = 'secp128r1' | 'secp160k1' | 'secp160r1' | 'secp192k1' | 'secp192r1' | 'secp224r1' | 'secp256k1' | 'secp256r1' | 'secp384r1' | 'secp521r1' ;
class DSA {
public p : BigInteger | null ;
public q : BigInteger | null ;
public g : BigInteger | null ;
public y : BigInteger | null ;
public x : BigInteger | null ;
public type : 'DSA' ;
public isPrivate : boolean ;
public isPublic : boolean ;
public setPrivate ( p : BigInteger , q : BigInteger , g : BigInteger , y : BigInteger | null , x : BigInteger ) : void ;
public setPrivateHex ( hP : HexString , hQ : HexString , hG : HexString , hY : HexString | null , hX : HexString ) : void ;
public setPublic ( p : BigInteger , q : BigInteger , g : BigInteger , y : BigInteger ) : void ;
public setPublicHex ( hP : HexString , hQ : HexString , hG : HexString , hY : HexString ) : void ;
public signWithMessageHash ( sHashHex : HexString ) : HexString ;
public verifyWithMessageHash ( sHashHex : HexString , hSigVal : HexString ) : boolean ;
public parseASN1Signature ( hSigVal : HexString ) : [ BigInteger , BigInteger ] ;
public readPKCS5PrvKeyHex ( h : HexString ) : void ;
public readPKCS8PrvKeyHex ( h : HexString ) : void ;
public readPKCS8PubKeyHex ( h : HexString ) : void ;
public readCertPubKeyHex ( h : HexString , nthPKI : number ) : void ;
}
class ECDSA {
constructor ( params ? : {
curve? : CurveName ;
prv? : HexString ;
pub? : HexString ;
} ) ;
public p : BigInteger | null ;
public q : BigInteger | null ;
public g : BigInteger | null ;
public y : BigInteger | null ;
public x : BigInteger | null ;
public type : 'EC' ;
public isPrivate : boolean ;
public isPublic : boolean ;
public getBigRandom ( limit : BigInteger ) : BigInteger ;
public setNamedCurve ( curveName : CurveName ) : void ;
public setPrivateKeyHex ( prvKeyHex : HexString ) : void ;
public setPublicKeyHex ( pubKeyHex : HexString ) : void ;
public getPublicKeyXYHex ( ) : Record < 'x' | 'y' , HexString > ;
public getShortNISTPCurveName ( ) : 'P-256' | 'P-384' | null ;
public generateKeyPairHex ( ) : Record < 'ecprvhex' | 'ecpubhex' , HexString > ;
public signWithMessageHash ( hashHex : HexString ) : HexString ;
public signHex ( hashHex : HexString , privHex : HexString ) : HexString ;
public verifyWithMessageHash ( sHashHex : HexString , hSigVal : HexString ) : boolean ;
public parseASN1Signature ( hSigVal : HexString ) : [ BigInteger , BigInteger ] ;
public readPKCS5PrvKeyHex ( h : HexString ) : void ;
public readPKCS8PrvKeyHex ( h : HexString ) : void ;
public readPKCS8PubKeyHex ( h : HexString ) : void ;
public readCertPubKeyHex ( h : HexString , nthPKI : number ) : void ;
public static parseSigHex ( sigHex : HexString ) : Record < 'r' | 's' , BigInteger > ;
public static parseSigHexInHexRS ( sigHex : HexString ) : Record < 'r' | 's' , ASN1V > ;
public static asn1SigToConcatSig ( asn1Sig : HexString ) : HexString ;
public static concatSigToASN1Sig ( concatSig : HexString ) : ASN1TLV ;
public static hexRSSigToASN1Sig ( hR : HexString , hS : HexString ) : ASN1TLV ;
public static biRSSigToASN1Sig ( biR : BigInteger , biS : BigInteger ) : ASN1TLV ;
public static getName ( s : CurveName | HexString ) : 'secp256r1' | 'secp256k1' | 'secp384r1' | null ;
}
class Signature {
constructor ( params ? : ( {
alg : string ;
prov? : string ;
} | { } ) & ( {
psssaltlen : number ;
} | { } ) & ( {
prvkeypem : PEM ;
prvkeypas? : never ;
} | { } ) ) ;
private _setAlgNames ( ) : void ;
private _zeroPaddingOfSignature ( hex : HexString , bitLength : number ) : HexString ;
public setAlgAndProvider ( alg : string , prov : string ) : void ;
public init ( key : GetKeyParam , pass? : string ) : void ;
public updateString ( str : string ) : void ;
public updateHex ( hex : HexString ) : void ;
public sign ( ) : HexString ;
public signString ( str : string ) : HexString ;
public signHex ( hex : HexString ) : HexString ;
public verify ( hSigVal : string ) : boolean | 0 ;
}
}
}
//// RSAKEY TYPES
class RSAKey {
public n : BigInteger | null ;
public e : number ;
public d : BigInteger | null ;
public p : BigInteger | null ;
public q : BigInteger | null ;
public dmp1 : BigInteger | null ;
public dmq1 : BigInteger | null ;
public coeff : BigInteger | null ;
public type : 'RSA' ;
public isPrivate? : boolean ;
public isPublic? : boolean ;
//// RSA PUBLIC
protected doPublic ( x : BigInteger ) : BigInteger ;
public setPublic ( N : BigInteger , E : number ) : void ;
public setPublic ( N : HexString , E : HexString ) : void ;
public encrypt ( text : string ) : HexString | null ;
2020-03-03 20:45:33 -06:00
public encryptOAEP ( text : string , hash? : string | ( ( s : string ) = > string ) , hashLen? : number ) : HexString | null ;
2019-07-04 11:54:16 -05:00
//// RSA PRIVATE
protected doPrivate ( x : BigInteger ) : BigInteger ;
public setPrivate ( N : BigInteger , E : number , D : BigInteger ) : void ;
public setPrivate ( N : HexString , E : HexString , D : HexString ) : void ;
public setPrivateEx ( N : HexString , E : HexString , D? : HexString | null , P? : HexString | null , Q? : HexString | null , DP? : HexString | null , DQ? : HexString | null , C? : HexString | null ) : void ;
public generate ( B : number , E : HexString ) : void ;
public decrypt ( ctext : HexString ) : string ;
2020-03-03 20:45:33 -06:00
public decryptOAEP ( ctext : HexString , hash? : string | ( ( s : string ) = > string ) , hashLen? : number ) : string | null ;
2019-07-04 11:54:16 -05:00
//// RSA PEM
public getPosArrayOfChildrenFromHex ( hPrivateKey : PEM ) : Idx < ASN1ObjectString > [ ] ;
public getHexValueArrayOfChildrenFromHex ( hPrivateKey : PEM ) : Idx < ASN1ObjectString > [ ] ;
public readPrivateKeyFromPEMString ( keyPEM : PEM ) : void ;
public readPKCS5PrvKeyHex ( h : HexString ) : void ;
public readPKCS8PrvKeyHex ( h : HexString ) : void ;
public readPKCS5PubKeyHex ( h : HexString ) : void ;
public readPKCS8PubKeyHex ( h : HexString ) : void ;
public readCertPubKeyHex ( h : HexString , nthPKI : Nth ) : void ;
//// RSA SIGN
public sign ( s : string , hashAlg : string ) : HexString ;
public signWithMessageHash ( sHashHex : HexString , hashAlg : string ) : HexString ;
public signPSS ( s : string , hashAlg : string , sLen : number ) : HexString ;
public signWithMessageHashPSS ( hHash : HexString , hashAlg : string , sLen : number ) : HexString ;
public verify ( sMsg : string , hSig : HexString ) : boolean | 0 ;
public verifyWithMessageHash ( sHashHex : HexString , hSig : HexString ) : boolean | 0 ;
public verifyPSS ( sMsg : string , hSig : HexString , hashAlg : string , sLen : number ) : boolean ;
public verifyWithMessageHashPSS ( hHash : HexString , hSig : HexString , hashAlg : string , sLen : number ) : boolean ;
public static SALT_LEN_HLEN : - 1 ;
public static SALT_LEN_MAX : - 2 ;
public static SALT_LEN_RECOVER : - 2 ;
}
/// RNG TYPES
class SecureRandom {
public nextBytes ( ba : Mutable < ByteNumber [ ] > ) : void ;
}
//// X509 TYPES
type ExtInfo = {
critical : boolean ;
oid : OID ;
vidx : Idx < ASN1V > ;
} ;
type ExtAIAInfo = Record < 'ocsp' | 'caissuer' , string > ;
type ExtCertificatePolicy = {
id : OIDName ;
} & Partial < {
cps : string ;
} | {
unotice : string ;
} > ;
class X509 {
public hex : HexString | null ;
public version : number ;
public foffset : number ;
public aExtInfo : null ;
public getVersion ( ) : number ;
public getSerialNumberHex ( ) : ASN1V ;
public getSignatureAlgorithmField ( ) : OIDName ;
public getIssuerHex ( ) : ASN1TLV ;
public getIssuerString ( ) : HexString ;
public getSubjectHex ( ) : ASN1TLV ;
public getSubjectString ( ) : HexString ;
public getNotBefore ( ) : TimeValue ;
public getNotAfter ( ) : TimeValue ;
public getPublicKeyHex ( ) : ASN1TLV ;
public getPublicKeyIdx ( ) : Idx < Mutable < Nth [ ] > > ;
public getPublicKeyContentIdx ( ) : Idx < Mutable < Nth [ ] > > ;
public getPublicKey ( ) : RSAKey | KJUR . crypto . ECDSA | KJUR . crypto . DSA ;
public getSignatureAlgorithmName ( ) : OIDName ;
public getSignatureValueHex ( ) : ASN1V ;
public verifySignature ( pubKey : GetKeyParam ) : boolean | 0 ;
public parseExt ( ) : void ;
public getExtInfo ( oidOrName : OID | string ) : ExtInfo | undefined ;
public getExtBasicConstraints ( ) : ExtInfo | { } | {
cA : true ;
pathLen? : number ;
} ;
public getExtKeyUsageBin ( ) : BinString ;
public getExtKeyUsageString ( ) : string ;
public getExtSubjectKeyIdentifier ( ) : ASN1V | undefined ;
public getExtAuthorityKeyIdentifier ( ) : {
kid : ASN1V ;
} | undefined ;
public getExtExtKeyUsageName ( ) : OIDName [ ] | undefined ;
public getExtSubjectAltName ( ) : Deprecated < string [ ] > ;
public getExtSubjectAltName2 ( ) : [ 'MAIL' | 'DNS' | 'DN' | 'URI' | 'IP' , string ] [ ] | undefined ;
public getExtCRLDistributionPointsURI ( ) : string [ ] | undefined ;
public getExtAIAInfo ( ) : ExtAIAInfo | undefined ;
public getExtCertificatePolicies ( ) : ExtCertificatePolicy [ ] | undefined ;
public readCertPEM ( sCertPEM : PEM ) : void ;
public readCertHex ( sCertHex : HexString ) : void ;
public getInfo ( ) : string ;
public static hex2dn ( hex : HexString , idx? : Idx < HexString > ) : string ;
public static hex2rdn ( hex : HexString , idx? : Idx < HexString > ) : string ;
public static hex2attrTypeValue ( hex : HexString , idx? : Idx < HexString > ) : string ;
public static getPublicKeyFromCertPEM ( sCertPEM : PEM ) : RSAKey | KJUR . crypto . ECDSA | KJUR . crypto . DSA ;
public static getPublicKeyInfoPropOfCertPEM ( sCertPEM : PEM ) : {
algparam : ASN1V | null ;
leyhex : ASN1V ;
algoid : ASN1V ;
} ;
}
}