Spaces:
Configuration error
Configuration error
/** | |
* Copyright (c) 2019 Digital Bazaar, Inc. | |
*/ | |
var forge = require('./forge'); | |
require('./asn1'); | |
var asn1 = forge.asn1; | |
exports.privateKeyValidator = { | |
// PrivateKeyInfo | |
name: 'PrivateKeyInfo', | |
tagClass: asn1.Class.UNIVERSAL, | |
type: asn1.Type.SEQUENCE, | |
constructed: true, | |
value: [{ | |
// Version (INTEGER) | |
name: 'PrivateKeyInfo.version', | |
tagClass: asn1.Class.UNIVERSAL, | |
type: asn1.Type.INTEGER, | |
constructed: false, | |
capture: 'privateKeyVersion' | |
}, { | |
// privateKeyAlgorithm | |
name: 'PrivateKeyInfo.privateKeyAlgorithm', | |
tagClass: asn1.Class.UNIVERSAL, | |
type: asn1.Type.SEQUENCE, | |
constructed: true, | |
value: [{ | |
name: 'AlgorithmIdentifier.algorithm', | |
tagClass: asn1.Class.UNIVERSAL, | |
type: asn1.Type.OID, | |
constructed: false, | |
capture: 'privateKeyOid' | |
}] | |
}, { | |
// PrivateKey | |
name: 'PrivateKeyInfo', | |
tagClass: asn1.Class.UNIVERSAL, | |
type: asn1.Type.OCTETSTRING, | |
constructed: false, | |
capture: 'privateKey' | |
}] | |
}; | |
exports.publicKeyValidator = { | |
name: 'SubjectPublicKeyInfo', | |
tagClass: asn1.Class.UNIVERSAL, | |
type: asn1.Type.SEQUENCE, | |
constructed: true, | |
captureAsn1: 'subjectPublicKeyInfo', | |
value: [{ | |
name: 'SubjectPublicKeyInfo.AlgorithmIdentifier', | |
tagClass: asn1.Class.UNIVERSAL, | |
type: asn1.Type.SEQUENCE, | |
constructed: true, | |
value: [{ | |
name: 'AlgorithmIdentifier.algorithm', | |
tagClass: asn1.Class.UNIVERSAL, | |
type: asn1.Type.OID, | |
constructed: false, | |
capture: 'publicKeyOid' | |
}] | |
}, | |
// capture group for ed25519PublicKey | |
{ | |
tagClass: asn1.Class.UNIVERSAL, | |
type: asn1.Type.BITSTRING, | |
constructed: false, | |
composed: true, | |
captureBitStringValue: 'ed25519PublicKey' | |
} | |
// FIXME: this is capture group for rsaPublicKey, use it in this API or | |
// discard? | |
/* { | |
// subjectPublicKey | |
name: 'SubjectPublicKeyInfo.subjectPublicKey', | |
tagClass: asn1.Class.UNIVERSAL, | |
type: asn1.Type.BITSTRING, | |
constructed: false, | |
value: [{ | |
// RSAPublicKey | |
name: 'SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey', | |
tagClass: asn1.Class.UNIVERSAL, | |
type: asn1.Type.SEQUENCE, | |
constructed: true, | |
optional: true, | |
captureAsn1: 'rsaPublicKey' | |
}] | |
} */ | |
] | |
}; | |