| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | // Copyright 2015 Joyent, Inc.var assert = require('assert-plus');var util = require('util');function FingerprintFormatError(fp, format) {	if (Error.captureStackTrace)		Error.captureStackTrace(this, FingerprintFormatError);	this.name = 'FingerprintFormatError';	this.fingerprint = fp;	this.format = format;	this.message = 'Fingerprint format is not supported, or is invalid: ';	if (fp !== undefined)		this.message += ' fingerprint = ' + fp;	if (format !== undefined)		this.message += ' format = ' + format;}util.inherits(FingerprintFormatError, Error);function InvalidAlgorithmError(alg) {	if (Error.captureStackTrace)		Error.captureStackTrace(this, InvalidAlgorithmError);	this.name = 'InvalidAlgorithmError';	this.algorithm = alg;	this.message = 'Algorithm "' + alg + '" is not supported';}util.inherits(InvalidAlgorithmError, Error);function KeyParseError(name, format, innerErr) {	if (Error.captureStackTrace)		Error.captureStackTrace(this, KeyParseError);	this.name = 'KeyParseError';	this.format = format;	this.keyName = name;	this.innerErr = innerErr;	this.message = 'Failed to parse ' + name + ' as a valid ' + format +	    ' format key: ' + innerErr.message;}util.inherits(KeyParseError, Error);function SignatureParseError(type, format, innerErr) {	if (Error.captureStackTrace)		Error.captureStackTrace(this, SignatureParseError);	this.name = 'SignatureParseError';	this.type = type;	this.format = format;	this.innerErr = innerErr;	this.message = 'Failed to parse the given data as a ' + type +	    ' signature in ' + format + ' format: ' + innerErr.message;}util.inherits(SignatureParseError, Error);function CertificateParseError(name, format, innerErr) {	if (Error.captureStackTrace)		Error.captureStackTrace(this, CertificateParseError);	this.name = 'CertificateParseError';	this.format = format;	this.certName = name;	this.innerErr = innerErr;	this.message = 'Failed to parse ' + name + ' as a valid ' + format +	    ' format certificate: ' + innerErr.message;}util.inherits(CertificateParseError, Error);function KeyEncryptedError(name, format) {	if (Error.captureStackTrace)		Error.captureStackTrace(this, KeyEncryptedError);	this.name = 'KeyEncryptedError';	this.format = format;	this.keyName = name;	this.message = 'The ' + format + ' format key ' + name + ' is ' +	    'encrypted (password-protected), and no passphrase was ' +	    'provided in `options`';}util.inherits(KeyEncryptedError, Error);module.exports = {	FingerprintFormatError: FingerprintFormatError,	InvalidAlgorithmError: InvalidAlgorithmError,	KeyParseError: KeyParseError,	SignatureParseError: SignatureParseError,	KeyEncryptedError: KeyEncryptedError,	CertificateParseError: CertificateParseError};
 |