Go based reimplementation of CAcert's signer and signer client components.
42d1e6e991
Add a main loop, move I/O code into io.go, move configuration into config.go. Use shared.Decode24BitLength instead of manually decoding block lengths. Fix response block decoding and checksum validation. Add constants for commonly used byte values and use these in the signer and the client. |
||
---|---|---|
client | ||
datastructures | ||
shared | ||
signer | ||
.gitignore | ||
go.mod | ||
go.sum | ||
README.md |
CAcert signer in Go
This is a reimplementation of the CAcert signer code from the CommModule directory of the CAcert software in Go. The goal of this effort is to provide a more maintainable version of the software.
Running the signer and client locally
The signer is usually attached to a USB serial port. You can run the signer and client locally using the socat utility.
socat -d -d PTY,link=$(pwd)/ttyS0 PTY,link=$(pwd)/ttyS1
You may then run the server
go run signer/main.go -a $(pwd)/dev/ttyS0
and the client:
go run client/main.go -a $(pwd)/dev/ttyS1