cert-signer.git

branch: master  ยท  29 files

$ git clone https://code.kevwe.com/git/cert-signer.git

FileCommits
๐Ÿ“„.gitignore1
๐Ÿ“„COPYING1
๐Ÿ“README.md7
๐Ÿ“„pom.xml3
๐Ÿ“„script/initializeCA2
๐Ÿ“„script/issueCertificate3
๐Ÿ“„src/main/java/net/lulli/certsigner/CaInitializer.java2
๐Ÿ“„src/main/java/net/lulli/certsigner/Client.java4
๐Ÿ“„src/main/java/net/lulli/certsigner/Settings.java4
๐Ÿ“„src/main/java/net/lulli/certsigner/ca/CaData.java3
๐Ÿ“„src/main/java/net/lulli/certsigner/ca/CaManager.java2
๐Ÿ“„src/main/java/net/lulli/certsigner/ca/CaServer.java2
๐Ÿ“„src/main/java/net/lulli/certsigner/ca/CertificateData.java2
๐Ÿ“„src/main/java/net/lulli/certsigner/ca/CertificateIssue.java3
๐Ÿ“„src/main/java/net/lulli/certsigner/network/VaultLocal.java2
๐Ÿ“„src/main/java/net/lulli/certsigner/service/CertificateSigningService.java2
๐Ÿ“„src/main/java/net/lulli/certsigner/strategy/CASetupStrategy.java2
๐Ÿ“„src/main/java/net/lulli/certsigner/strategy/SigningStrategy.java2
๐Ÿ“„src/main/java/net/lulli/certsigner/strategy/file/FileBasedCaSetup.java2
๐Ÿ“„src/main/java/net/lulli/certsigner/strategy/file/FileBasedCertificateSigning.java2
๐Ÿ“„src/main/java/net/lulli/certsigner/strategy/vault/VaultCaSetup.java2
๐Ÿ“„src/main/java/net/lulli/certsigner/strategy/vault/VaultSigningStrategy.java3
๐Ÿ“„src/main/java/net/lulli/certsigner/util/CSRManager.java2
๐Ÿ“„src/main/java/net/lulli/certsigner/util/FileCAUtils.java4
๐Ÿ“„src/main/java/net/lulli/certsigner/util/Keys.java3
๐Ÿ“„src/main/java/net/lulli/certsigner/util/PemUtil.java2
๐Ÿ“„src/main/java/net/lulli/certsigner/util/Serde.java4
๐Ÿ“„src/main/java/net/lulli/certsigner/util/ValidityUtil.java2
๐Ÿ“„src/test/java/net/lulli/certsigner/FileBasedCaTest.java2
๐Ÿ“„ README.md

Cert-Signer

A Private CA implementation library

What it this

Cert-Signer is a Java library that implements a Private CA, able to sign certificates for client of services within your organization.

It is meant to be used to create client certificate for mTLS authentication of private services within your network.

Use Cases

  • PKI for your Industrial IOT gateway clients
  • Internal zero-trust architecture
  • Secure communication between services with mTLS
  • Implement a service for enrollment of embedded IOT devices

Special features

Certificate Authority and client certificates are generated and stored via a VaultSigningStrategy on a Hashicorp Vault instance.

How To Build the library

cd cert-signer
mvn clean install

Initialize the CA:

You should have a Vault instance running, and you should create the following config file: ~/.vault-credentials.cfg
with the following environment defined:

export VAULT_ENDPOINT="https://<my-address>/<custom-path>"
export VAULT_TOKEN="hvs.XXXXXXXXXXXXXXXX"

To initialize a custom CA for *my-service**

cd cert-signer
./script/initializeCA my-service
``` 

## Use the CA to sign Client Certificates

You can use the provided script to sign client certificates for your CA

./script/issueCertificate my-service my-client
โ€`

License

The code is freely available under GPL License
see: COPYING

Additional commercial support and licensing is available on request. Just issue a support request
and mention you are interested in [cert-signer]()