Crypto Module
Crypto
module for the Hapiness framework provides some functions for security features like AES key
, Key pair
, PKCS12
, RSA key
, Certificate
, JWT
and more.
We use existing node modules to provide these functions: NodeRSA, PEM, JWT and RandomString but we add Observable
feature for asynchronous and stream processes.
All most important crypto features in only one module.
Table of contents
Using http module inside Hapiness application
yarn
or npm
it in your package.json
$ npm install --save @hapiness/core @hapiness/crypto rxjs
or
$ yarn add @hapiness/core @hapiness/crypto rxjs
"dependencies": {
"@hapiness/core": "^1.3.0",
"@hapiness/crypto": "^1.0.0",
"rxjs": "^5.5.5",
}
import CryptoModule
import { HapinessModule } from '@hapiness/core';
import { CryptoModule } from '@hapiness/crypto';
@HapinessModule({
version: '1.0.0',
declarations: [
LibWithCrypto
],
imports: [
CryptoModule
]
})
class HapinessModuleNeedsCryptoModule {}
use it anywhere
You can use AESService
, HashService
, PEMService
, RandomstringService
, JWTService
and RSAService
anywhere in your module with dependency injection.
import { Lib } from '@hapiness/core';
import { RSAService, NodeRSA } from '@hapiness/crypto';
@Lib()
class LibWithCrypto {
constructor(private _rsaService: RSAService) {}
createRsaKey(): void {
this._rsaService.createKey().subscribe(
(k: NodeRSA) => console.log(k),
e => console.error(e)
);
}
}
Back to top
API in Detail
We implemented some services and to see their details go to documentation folder:
Back to top
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
.
Back to top
Change History
- v1.0.1 (2018-11-15)
- Fix of
cipher.final()
in AESService.encryptWithAesKey()
and AESService.decryptWithAesKey()
operators
- v1.0.0 (2017-12-19)
- Implementation of
CryptoModule
with AESService
, HashService
, PEMService
, RandomstringService
and RSAService
- Implementation of
Observable's
operators for AESService
and RSAService
features. - Implementation of
Lettable operators
for AESService
and RSAService
features. - Related tests.
- Documentation.
Maintainers
License
Copyright (c) 2017 Hapiness Licensed under the MIT license.
Back to top