NestJSX-Crypto
Crypto
module for NestJS framework provides some functions for security features like AES key
, Key pair
, PKCS12
, RSA key
, Certificate
, JWT
and more.
This module is a wrapper to use @akanass-rx-crypto library inside NestJS application
in an easy way.
All most important crypto features in only one module.
Table of contents
- Using crypto module inside NestJS application
- API in Detail
- Contributing
- Change History
- Maintainers
- License
Using crypto module inside NestJS application
yarn
or npm
it in your package.json
$ npm install --save @akanass/nestjsx-crypto @nestjs/common rxjs reflect-metadata
or
$ yarn add @akanass/nestjsx-crypto @nestjs/common rxjs reflect-metadata
"dependencies": {
"@akanass/nestjsx-crypto": "^3.0.0",
"@nestjs/common": "^8.0.11",
"reflect-metadata": "^0.1.13",
"rxjs": "^7.4.0"
//...
}
//...
CryptoModule
import import { CryptoModule } from '@akanass/nestjsx-crypto';
import { Module } from '@nestjs/common';
import { NestJSServiceWithCrypto } from './crypto.service.ts';
@Module({
imports: [
CryptoModule
],
providers: [
NestJSServiceWithCrypto
]
})
export class NestJSModuleNeedsCryptoModule {}
use it anywhere
You can use AesService
, HashService
, PemService
, RandomStringService
, JwtService
and RsaService
anywhere in your module with dependency injection.
import { RsaService, NodeRSA } from '@akanass/nestjsx-crypto';
import { Injectable } from '@nestjs/common';
@Injectable()
export class NestJSServiceWithCrypto {
constructor(private readonly _rsaService: RsaService) {}
createRsaKey(): void {
this._rsaService.createKey().subscribe(
(k: NodeRSA) => console.log(k), // Show NodeRSA instance in console
e => console.error(e) // Show error in console
);
}
}
API in Detail
We implemented some services and to see their details go to documentation folder:
- ./documentation/AesService.md
- ./documentation/HashService.md
- ./documentation/JwtService.md
- ./documentation/PemService.md
- ./documentation/RandomStringService.md
- ./documentation/RsaService.md
Contributing
To set up your development environment:
- clone the repo to your workspace,
- in the shell
cd
to the main folder, - hit
npm or yarn install
, - run
npm or yarn run test
.- It will lint the code and execute all tests.
- The test coverage report can be viewed from
./coverage/lcov-report/index.html
.
Change History
- v4.0.0 (2022-07-11)
- Update packages' versions
- Latest
nestjs
version9.0.2
- v3.0.0 (2021-10-08)
- Update packages' versions
- Latest
@akanass/rx-crypto
version2.2.0
- Latest
rxjs
version7.4.0
- Latest
nestjs
version8.0.11
- Update tests
- v2.0.0 (2021-06-07)
- Update packages' versions
- Latest
@akanass/rx-crypto
version2.0.0
- Latest
rxjs
version7.1.0
- v1.1.0 (2021-01-31)
- Update packages' versions
- Fix tests
- Fix
tslint
- v1.0.0 (2019-09-12)
- Implementation of
CryptoModule
withAesService
,HashService
,JwtService
,PemService
,RandomStringService
andRsaService
- Implementation of
Observable's
operators forAesService
andRsaService
features. - Related tests.
- Documentation.
- Implementation of
License
Copyright (c) 2021 Nicolas Jessel Licensed under the MIT license.