An open API service indexing awesome lists of open source software.

https://github.com/waitingsong/node-myca

Create Self-signed CA certificate for development use and issue server or client certificates, generated using openssl
https://github.com/waitingsong/node-myca

ca certificate csr ecc myca openssl pfx pkcs12 rsa san self-signed x509

Last synced: 5 months ago
JSON representation

Create Self-signed CA certificate for development use and issue server or client certificates, generated using openssl

Awesome Lists containing this project

README

          

# myca

Create my CA center, generate a self signed x509 certificate, issue server certificate from node.js via openssl. Multiple center supported. RSA, EC(P-256, P-384) supported.

[![GitHub tag](https://img.shields.io/github/tag/waitingsong/node-myca.svg)]()
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![](https://img.shields.io/badge/lang-TypeScript-blue.svg)]()
[![ci](https://github.com/waitingsong/node-myca/workflows/ci/badge.svg)](https://github.com/waitingsong/node-myca/actions?query=workflow%3A%22ci%22)
[![codecov](https://codecov.io/github/waitingsong/node-myca/branch/main/graph/badge.svg?token=wTaSMKz3Ne)](https://codecov.io/github/waitingsong/node-myca)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)
[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lernajs.io/)

## 安装全局依赖
```sh
npm i -g c8 lerna rollup tsx
```

## Installing
```bash
npm install --save myca
```

## CLI
- [myca-cli](https://www.npmjs.com/package/myca-cli)
- Installing by `npm i -g myca-cli`
- Command help
- `myca`
- `myca initca -h`
- `myca issue -h`
- Example
```sh
myca initca --days=10950 --alg=ec --pass=capass \
--cn="Root CA" --ou="waitingsong.com" --o="waitingsong" --l="CD" --c=CN \
```

```sh
myca issue --kind=server --days=3650 --pass=mypass \
--cn="waitingsong.com" --o="waitingsong" --c=CN --caKeyPass=capass \
--centerName=default --alg=ec \
--ips="127.0.0.1, 192.168.0.1" \
--SAN="localhost"
```

```sh
myca issue --kind=client --days=3650 --pass=mypass \
--cn="client" --o="it" --c=CN --caKeyPass=capss \
--centerName=default --alg=ec
```

## Usage
- Initialize default center
```ts
import { initDefaultCenter } from 'myca'

await initDefaultCenter()
```

## Packages

| Package | Version |
| ------------ | ---------------------- |
| [`myca`] | [![main-svg]][main-ch] |
| [`myca-cli`] | [![cli-svg]][cli-ch] |

## License
[MIT](LICENSE)

### Languages
- [English](README.md)
- [中文](README.zh-CN.md)


[`myca`]: https://github.com/waitingsong/node-myca/tree/main/packages/myca
[main-svg]: https://img.shields.io/npm/v/myca.svg?maxAge=7200
[main-ch]: https://github.com/waitingsong/node-myca/tree/main/packages/myca/CHANGELOG.md

[`myca-cli`]: https://github.com/waitingsong/node-myca/tree/main/packages/myca-cli
[cli-svg]: https://img.shields.io/npm/v/myca-cli.svg?maxAge=7200
[cli-ch]: https://github.com/waitingsong/node-myca/tree/main/packages/myca-cli/CHANGELOG.md