selfsigned
- Version 5.2.0
- Published
- 62.5 kB
- 2 dependencies
- MIT license
Install
npm i selfsignedyarn add selfsignedpnpm add selfsignedOverview
Generate self signed certificates private and public keys
Index
Functions
Interfaces
Enums
Functions
function generate
generate: ( attrs?: CertificateField[], opts?: SelfsignedOptions) => Promise<GenerateResult>;Generate a certificate (async only)
Parameter attrs
Certificate attributes
Parameter opts
Generation options
Returns
Promise that resolves with certificate data
Example 1
// Self-signed certificateconst pems = await generate();const pems = await generate([{ name: 'commonName', value: 'example.com' }]);const pems = await generate(null, {keySize: 2048,algorithm: 'sha256'});// CA-signed certificateconst pems = await generate([{ name: 'commonName', value: 'localhost' }], {algorithm: 'sha256',ca: {key: fs.readFileSync('/path/to/ca.key', 'utf8'),cert: fs.readFileSync('/path/to/ca.crt', 'utf8')}});
Interfaces
interface CertificateField
interface CertificateField extends CertificateFieldOptions {}property extensions
extensions?: any[] | undefined;property value
value?: any[] | string | undefined;property valueConstructed
valueConstructed?: boolean | undefined;property valueTagClass
valueTagClass?: ASN1Class | undefined;interface CertificateFieldOptions
interface CertificateFieldOptions {}interface GenerateResult
interface GenerateResult {}property cert
cert: string;property clientcert
clientcert?: string;property clientpkcs7
clientpkcs7?: string;property clientprivate
clientprivate?: string;property clientpublic
clientpublic?: string;property fingerprint
fingerprint: string;property pkcs7
pkcs7?: string;property private
private: string;property public
public: string;interface SelfsignedOptions
interface SelfsignedOptions {}property algorithm
algorithm?: string;The signature algorithm: sha256, sha384, sha512 or sha1 "sha1"
property ca
ca?: { /** CA private key in PEM format */ key: string; /** CA certificate in PEM format */ cert: string;};CA certificate and key for signing (if not provided, generates self-signed)
property clientCertificate
clientCertificate?: boolean;generate client cert signed by the original key false
property clientCertificateCN
clientCertificateCN?: string;client certificate's common name "John Doe jdoe123"
property clientCertificateKeySize
clientCertificateKeySize?: number;the size for the client private key in bits 2048
property extensions
extensions?: any[];additional extensions for the certificate
property keyPair
keyPair?: { privateKey: string; publicKey: string;};existing key pair to use instead of generating new keys
property keySize
keySize?: number;the size for the private key in bits 2048
property notAfterDate
notAfterDate?: Date;The date after which the certificate should not be valid
notBeforeDate + 365 days
property notBeforeDate
notBeforeDate?: Date;The date before which the certificate should not be valid
now
property passphrase
passphrase?: string;Passphrase to encrypt the private key (PKCS#8 encrypted format) When provided, the private key will be encrypted using AES-256-CBC
property pkcs7
pkcs7?: boolean;include PKCS#7 as part of the output false
Enums
enum ASN1Class
enum ASN1Class { UNIVERSAL = 0x00, APPLICATION = 0x40, CONTEXT_SPECIFIC = 0x80, PRIVATE = 0xc0,}member APPLICATION
APPLICATION = 0x40member CONTEXT_SPECIFIC
CONTEXT_SPECIFIC = 0x80member PRIVATE
PRIVATE = 0xc0member UNIVERSAL
UNIVERSAL = 0x00Package Files (1)
Dependencies (2)
Dev Dependencies (2)
Peer Dependencies (0)
No peer dependencies.
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/selfsigned.
- Markdown[](https://www.jsdocs.io/package/selfsigned)
- HTML<a href="https://www.jsdocs.io/package/selfsigned"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 3459 ms. - Missing or incorrect documentation? Open an issue for this package.
