aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 4ab20c9fc867827e7d63495577018c582691149e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
pkictl
======

Pkictl can be used to manage the lifecycle of keys and certificates.

Its main purpose is the creation of certificates and control through rules of the
certification process. But it can also be used to sign and verify messages based
on private/public keys.

The focus is on easy commands with clear error messages to make work for the admin
or user as easy as possible. But it can also be used in scripts to implement
automated workflows.

features
--------

The following commnds will be implemented:

* create private key (RSA or ECDSA)
* create public key based on private key
* sign a message using a private key
* verify a message using a public key
* create a certificate sign request using a private key (WIP)
* create a certificate using a CSR (not implemented)
* show information about a CSR/private key/... (not implemented)
* verify certificate against rules and CSR (not implemented)

Installation
------------

The project can be built with

    go get github.com/Gibheer/pkictl

which fetches all dependencies needed and builds the binary into your
$GOPATH/bin.

Usage
-----

### print all commands

To print all commands, use

    # ./pkictl
    Usage: pkictl command args
    where 'command' is one of:
        create-private    create a new private key
        create-public     create a public key from a private one
        create-cert-sign  create a new certificate sign request
        help              show this help
        info              get info on a file
        sign              sign a certificate request
        sign-input        sign a message with a private key
        verify-signature  verify a signature

Print the help for a command:

    ./pkictl create-public --help
    Usage of create-public:
      -output="STDOUT": path where the generated public key should be stored
      -private-key="": path to the private key file

Contributing
------------

The best way to contribute is to use [github.com/gibheer/pkictl](https://github.com/gibheer/pkictl).