cert-signer.git
branch: master ยท 29 files
| File | Commits |
|---|---|
| .gitignore | 1 |
| COPYING | 1 |
| README.md | 7 |
| pom.xml | 3 |
| script/initializeCA | 2 |
| script/issueCertificate | 3 |
| src/main/java/net/lulli/certsigner/CaInitializer.java | 2 |
| src/main/java/net/lulli/certsigner/Client.java | 4 |
| src/main/java/net/lulli/certsigner/Settings.java | 4 |
| src/main/java/net/lulli/certsigner/ca/CaData.java | 3 |
| src/main/java/net/lulli/certsigner/ca/CaManager.java | 2 |
| src/main/java/net/lulli/certsigner/ca/CaServer.java | 2 |
| src/main/java/net/lulli/certsigner/ca/CertificateData.java | 2 |
| src/main/java/net/lulli/certsigner/ca/CertificateIssue.java | 3 |
| src/main/java/net/lulli/certsigner/network/VaultLocal.java | 2 |
| src/main/java/net/lulli/certsigner/service/CertificateSigningService.java | 2 |
| src/main/java/net/lulli/certsigner/strategy/CASetupStrategy.java | 2 |
| src/main/java/net/lulli/certsigner/strategy/SigningStrategy.java | 2 |
| src/main/java/net/lulli/certsigner/strategy/file/FileBasedCaSetup.java | 2 |
| src/main/java/net/lulli/certsigner/strategy/file/FileBasedCertificateSigning.java | 2 |
| src/main/java/net/lulli/certsigner/strategy/vault/VaultCaSetup.java | 2 |
| src/main/java/net/lulli/certsigner/strategy/vault/VaultSigningStrategy.java | 3 |
| src/main/java/net/lulli/certsigner/util/CSRManager.java | 2 |
| src/main/java/net/lulli/certsigner/util/FileCAUtils.java | 4 |
| src/main/java/net/lulli/certsigner/util/Keys.java | 3 |
| src/main/java/net/lulli/certsigner/util/PemUtil.java | 2 |
| src/main/java/net/lulli/certsigner/util/Serde.java | 4 |
| src/main/java/net/lulli/certsigner/util/ValidityUtil.java | 2 |
| src/test/java/net/lulli/certsigner/FileBasedCaTest.java | 2 |
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]()