@darkmaper/easyrsa-wrapper
v1.2.0
Published
An EasyRSA wrapper to maintain a private key infrastructure using Javascript
Downloads
67
Maintainers
Readme
Wrapper Easy-RSA
An EasyRSA wrapper to maintain a private key infrastructure using Javascript
Installation
Install Easy-RSA Wrapper with npm
npm install @darkmaper/easyrsa-wrapper
Usage/Examples
Start using easyrsa
With RSA
import EasyRSA from '@darkmaper/easyrsa-wrapper'
const easyrsaOpts = {
pki: 'path/for/pki';
days: 3650;
certDays: 850;
digest: 'sha256';
algo: 'rsa;
keySize: 2048;
}
const easyrsa = new EasyRSA(easyrsaOpts)
Or with EC
import EasyRSA from '@darkmaper/easyrsa-wrapper';
const easyrsaOpts = {
pki: 'path/for/pki';
days: 3650;
certDays: 850;
digest: 'sha256';
algo: 'ec;
curve: 'secp112r1'
}
const easyrsa = new EasyRSA(easyrsaOpts);
See more information about Elliptic Curves
Init PKI Infraestructure
For default, initPki overwrite PKI folder.
await easyrsa.initPki({ force: true })
Generate Certificate Authority
await easyrsa.buildCa({
commonName: 'My CA',
})
If want encrypt the private key, you can pass a password for the CA private key
await easyrsa.buildCa({
commonName: 'My CA',
password: 'CAPassword'
})
Generate a Certificate
Create a server
await easyrsa.createServer({
name: 'filename',
commonName: 'My server',
password: 'CertPassword',
caPassword: 'CaPassword'
})
Create a client
await easyrsa.createClient({
name: 'filename',
commonName: 'My Client',
password: 'CertPassword',
caPassword: 'CaPassword'
})
Revoke a Certificate
await easyrsa.revoke({
name: 'filename',
reason: 'unspecified',
caPassword: 'CaPassword'
})
Renew a Certificate
await easyrsa.renew({
name: 'filename',
caPassword: 'CaPassword'
})
Generate a Certificate Revocation List
await easyrsa.genCrl('CaPassword')
ATENTION: If the CA is encrypted and not set caPassword
or is a bad password easyrsa throws a error.