GoSSL is an SSL/TLS certificate tool written with Go and built with ❤️
- Verify a server certificate with a root CA
- Generate RSA key
- Generate x509 RSA root CA
- Generate x509 RSA server certificate
- Generate SSH key pair
help: Help command displays default help and existing commands
./gossl help
You can verify x509 certificate with provided root CA. Both CA and certificate files need to be PEM encoded.
./gossl verify --help
./gossl verify --cafile ./testdata/ca-cert.pem --certfile ./testdata/server-cert.pem
./gossl verify --dns 127.0.0.1 --cafile ./testdata/ca-cert.pem --certfile ./testdata/server-cert.pem
Key command helps you to generate RSA private key with provided bit size.
./gossl key --help
./gossl key --bits 2048
./gossl key --bits 2048 -out private.key
Cert command generates x509 certificate with provided private key.
./gossl cert --help
// Generate Root CA
./gossl cert \
--key private.key \
--out ca.pem \
--days 365 \
--serial 12345 \
--isCA
// Generate Certificate
./gossl cert \
--key private.key \
--out cert.pem \
--days 365 \
--serial 12345
SSH command helps you to generate SSH Key Pair with provided bit size.
./gossl key --help
./gossl key --bits 2048
./gossl key --bits 2048 -out ./id_rsa
// output will be written to ./id_rsa and ./id_rsa_pub files
- Add generate command for generating private key, root ca and x509 certificates in one command
- Add test for cert
- Add cert template format read from yaml file
- Add verification of a CA and http endpoint
- Add test for utils package
- Add test for help package
- Add ssh-copy-id feature to upload ssh key to remote server easily