https://github.com/guerzon/gochk
Command-line tool for various SSL/TLS stuff.
https://github.com/guerzon/gochk
go golang ssl tls
Last synced: about 1 year ago
JSON representation
Command-line tool for various SSL/TLS stuff.
- Host: GitHub
- URL: https://github.com/guerzon/gochk
- Owner: guerzon
- License: mit
- Created: 2023-08-26T09:17:14.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-11T03:46:20.000Z (over 2 years ago)
- Last Synced: 2025-03-19T11:13:54.136Z (over 1 year ago)
- Topics: go, golang, ssl, tls
- Language: Go
- Homepage:
- Size: 34.2 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gochk
[](https://github.com/guerzon/vaultwarden/blob/main/LICENSE)
[](https://github.com/guerzon/gochk/releases)
`gochk` is a command-line tool for various SSL/TLS tasks.
## Usage
Download and run the pre-build binaries:
```bash
# todo
```
If you have `go` installed, you can build your own binary:
```bash
go build -o gochk main.go
./gochk --help
# using make
make build
./bin/gochk --help
```
Sub-commands (see [features](#features) for available commands):
- `ca` - for creating your own CA.
- `conn` - for interacting with an SSL/TLS endpoint.
- `cert` - for working with certificate files.
## Features
### Creating your own CA
1. Create the YAML files containing your configuration. For reference, see the example [ca configuration](./ca.yml).
2. Create the private key and the CA certificate:
```bash
# use all defaults:
./gochk ca
# specify filenames:
./gochk ca --key private.pem --cert cert.pem
```
## TODO
The following features are not yet implemented.
### Testing a TLS endpoint
1. Get the supported SSL/TLS versions.
2. List certificate tree.
3. Get validity information.
4. List valid domains for the certificate.
5. Check supported ciphers.
### Working with certificates
For signing certificates using a CA from a previous section, or for inspecting a PEM-encoded certificate file.
1. Check if a PEM-encoded certificate and a private key match.
2. Print the contents of a certificate.