https://github.com/aacfactory/afssl
self sign ssl
https://github.com/aacfactory/afssl
Last synced: 5 months ago
JSON representation
self sign ssl
- Host: GitHub
- URL: https://github.com/aacfactory/afssl
- Owner: aacfactory
- License: apache-2.0
- Created: 2022-05-18T03:16:01.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-12-19T12:18:19.000Z (over 2 years ago)
- Last Synced: 2023-12-20T17:07:57.832Z (over 2 years ago)
- Language: Go
- Size: 2.09 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AFSSL
SSL Generator.
## Install
```shell
go get github.com/aacfactory/afssl
```
## Usage
Generate Self Signed SSL.
```go
config := afssl.CertificateConfig{}
// ca
caPEM, caKeyPEM, caErr := afssl.GenerateCertificate(config, afssl.CA())
if caErr != nil {
t.Error("ca", caErr)
return
}
fmt.Println(string(caPEM))
fmt.Println(string(caKeyPEM))
// server
serverPEM, serverKeyPEM, serverErr := afssl.GenerateCertificate(config, afssl.WithParent(caPEM, caKeyPEM))
if serverErr != nil {
t.Error("server", serverErr)
return
}
fmt.Println(string(serverPEM))
fmt.Println(string(serverKeyPEM))
// client
clientPEM, clientKeyPEM, clientErr := afssl.GenerateCertificate(config, afssl.WithParent(caPEM, caKeyPEM))
if clientErr != nil {
t.Error("client", clientErr)
return
}
fmt.Println(string(clientPEM))
fmt.Println(string(clientKeyPEM))
```
## Use as bin
```shell
go install github.com/aacfactory/afssl/commands/afssl@latest
```
```shell
afssl --type={RSA,ECDSA,ED25519,SM2} --ca --expire={days} --cn={CN} {dst path}
```