feat: v1.0.4, generate data key and save to db
This commit is contained in:
31
README.md
31
README.md
@@ -11,6 +11,7 @@ cargo build --release [--no-default-features]
|
||||
## Init
|
||||
|
||||
New random master key:
|
||||
|
||||
```shell
|
||||
head -c 32 /dev/random | base64
|
||||
```
|
||||
@@ -18,6 +19,7 @@ head -c 32 /dev/random | base64
|
||||
## Generate Yubikey encrypted master key
|
||||
|
||||
Generate encrypted master key with Yubikey:
|
||||
|
||||
```shell
|
||||
local-mini-kms yubikey-init-master-key --generate-key [--yubikey-challenge *challenge*]
|
||||
```
|
||||
@@ -25,11 +27,13 @@ local-mini-kms yubikey-init-master-key --generate-key [--yubikey-challenge *chal
|
||||
## Startup Server
|
||||
|
||||
Startup without init:
|
||||
|
||||
```shell
|
||||
local-mini-kms serve
|
||||
```
|
||||
|
||||
Init with Yubikey:
|
||||
|
||||
```shell
|
||||
local-mini-kms serve [--init-encrypted-master-key LKMS:*** [--yubikey-challenge *challenge*]]
|
||||
```
|
||||
@@ -67,6 +71,7 @@ local-mini-kms cli --write --name test --value hello [--force-write] [--comment
|
||||
## cURL
|
||||
|
||||
Write value:
|
||||
|
||||
```shell
|
||||
curl -X POST http://127.0.0.1:5567/write \
|
||||
-H "Content-Type: application/json" \
|
||||
@@ -74,6 +79,7 @@ curl -X POST http://127.0.0.1:5567/write \
|
||||
```
|
||||
|
||||
Read value:
|
||||
|
||||
```shell
|
||||
curl -X POST http://127.0.0.1:5567/read \
|
||||
-H "Content-Type: application/json" \
|
||||
@@ -81,14 +87,35 @@ curl -X POST http://127.0.0.1:5567/read \
|
||||
```
|
||||
|
||||
Generate data key:
|
||||
|
||||
```shell
|
||||
curl -X POST http://127.0.0.1:5567/datakey \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"type":"aes", "spec":"256", "exportable": true, "return_plaintext": true}'
|
||||
-d '{"type":"aes", "spec":"256", "exportable": true, "return_plaintext": true, "name": "key001", "comment": "the comment"}'
|
||||
```
|
||||
|
||||
```shell
|
||||
xh POST http://127.0.0.1:5567/datakey \
|
||||
type=aes \
|
||||
spec=256 \
|
||||
exportable:=false \
|
||||
name=testkey01 \
|
||||
comment='this is a test key 01'
|
||||
```
|
||||
|
||||
| Key | Comment |
|
||||
|------------------|--------------------------------------------|
|
||||
| type | `aes` |
|
||||
| spec | ~~`128`, `192`,~~ `256` if `type` == `aes` |
|
||||
| exportable | `true` or `false` |
|
||||
| return_plaintext | `true` or `false` |
|
||||
| name | Data key name |
|
||||
| comment | Data key comment |
|
||||
|
||||
Upgrade to v3.2
|
||||
|
||||
```sql
|
||||
ALTER TABLE keys ADD COLUMN comment TEXT;
|
||||
ALTER TABLE keys
|
||||
ADD COLUMN comment TEXT;
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user