Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wolfssl/go-wolfssl
golang wrapper for wolfSSL lightweight TLS library and wolfCrypt cryptography library.
https://github.com/wolfssl/go-wolfssl
aes cryptography golang hashing rng ssl tls
Last synced: 4 days ago
JSON representation
golang wrapper for wolfSSL lightweight TLS library and wolfCrypt cryptography library.
- Host: GitHub
- URL: https://github.com/wolfssl/go-wolfssl
- Owner: wolfSSL
- Created: 2022-06-15T16:16:08.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-08-29T21:35:46.000Z (3 months ago)
- Last Synced: 2024-08-29T23:46:42.688Z (3 months ago)
- Topics: aes, cryptography, golang, hashing, rng, ssl, tls
- Language: Go
- Homepage: https://www.wolfssl.com
- Size: 2.15 MB
- Stars: 26
- Watchers: 18
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# wolfSSL Golang Wrapper
This repository contains a very light wrapper around wolfSSL for GO, a server/client example, and some example wolfCrypt applications.
## Usage
To use the wolfSSL go module, first build and install wolfSSL as shown below.
```
git clone https://github.com/wolfSSL/wolfssl
./autogen.sh
./configure
make
sudo make install
```Then clone the go-wolfssl repo and run the `./generateOptions.sh` script to customize go-wolfssl to the same feature set as wolfSSL. This script will generate an `options.go` file that will keep go-wolfssl and wolfSSL in sync. `generateOptions` should be run any time you change your wolfSSL configure options. If the path to your wolfSSL directory is `../wolfssl`, just run:
```
git clone https://github.com/wolfSSL/go-wolfssl
cd go-wolfssl
./generateOptions.sh
```If you have a different path to your wolfSSL directory, run the script with the right path:
```
./generateOptions ../files/wolfSSL
```To install the wrapper module, run these commands:
```
go get -u github.com/wolfssl/go-wolfssl
go mod edit -replace github.com/wolfssl/go-wolfssl=
```## Running the TLS Server/Client example
The example `.go` files are located in the `client` and `server` directories.
To build the server, run :
```
cd examples/server
go build server.go
```To build the client, run :
```
cd examples/client
go build client.go
```**NOTE**: Make sure to run both the server and client from within their directories or change the certificate and key paths in the code so that the files are found.
See [examples/README.md](examples/README.md) for details on building/running the other examples.
**NOTE**: If you have wolfSSL installed in a non-standard location, edit the `CFLAGS` and `LDFLAGS` specifications in the `*.go` source files to correspond to your custom installation path.
## Support
For inquiries, suggestions and feedback please contact [email protected].