mirror of
https://github.com/libp2p/go-openssl.git
synced 2025-01-13 02:20:10 +08:00
OpenSSL bindings for Go
46d44e1dfd
* Fix build with OpenSSL 3.0 - FIPS_mode_set() does not exist in OpenSSL 3.0 [1] - X509_check_* functions declarated in openssl/x509v3.h instead of openssl/x509.h [2] - X509_chack_* functions have const char arg inserad of const unsigned char [2] - skip MD4 tests if it is unsupported by OpenSSL - the patch does not change behavior under OpenSSL version != 3 - the patch just fixes build under OpenSSL 3.0 and doesn't update deprecated code or behavior 1. https://wiki.openssl.org/index.php/OpenSSL_3.0#Upgrading_from_the_OpenSSL_2.0_FIPS_Object_Module 2. https://www.openssl.org/docs/man3.0/man3/X509_check_host.html * Add Ubuntu 22.04 runner to GitHub Actions go test workflow * Fix flaky tests on Ubuntu 22.04 It is necessary to handle OpenSSL errors very carefully. Otherwise, errors may appear in unexpected places. For example, we didn't catch an error from EVP_DigestInit_ex() and it appears sometimes in conn.go: func (c *Conn) getErrorHandler(rv C.int, errno error) func() error { errcode := C.SSL_get_error(c.ssl, rv) // <- here |
||
---|---|---|
.github | ||
utils | ||
.gitignore | ||
alloc.go | ||
AUTHORS | ||
bio.go | ||
build_static.go | ||
build.go | ||
cert_test.go | ||
cert.go | ||
ciphers_gcm.go | ||
ciphers_test.go | ||
ciphers.go | ||
conn.go | ||
ctx_test.go | ||
ctx.go | ||
dh_test.go | ||
dh.go | ||
dhparam.go | ||
digest.go | ||
engine.go | ||
extension.c | ||
fips.go | ||
go.mod | ||
go.sum | ||
hmac_test.go | ||
hmac.go | ||
hostname.c | ||
hostname.go | ||
http.go | ||
init_posix.go | ||
init_windows.go | ||
init.go | ||
key_test.go | ||
key.go | ||
LICENSE | ||
mapping.go | ||
md4_test.go | ||
md4.go | ||
md5_test.go | ||
md5.go | ||
net.go | ||
nid.go | ||
object.go | ||
pem.go | ||
README.md | ||
sha1_test.go | ||
sha1.go | ||
sha256_test.go | ||
sha256.go | ||
shim.c | ||
shim.h | ||
sni.c | ||
ssl_test.go | ||
ssl.go | ||
tickets.go | ||
version.json |
OpenSSL bindings for Go
Forked from https://github.com/spacemonkeygo/openssl (unmaintained) to add:
- FreeBSD support.
- Key equality checking.
- A function to get the size of signatures produced by a key.
Please see http://godoc.org/github.com/libp2p/go-openssl for more info
License
Copyright (C) 2017. See AUTHORS.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Using on macOS
- Install homebrew
$ brew install openssl
or$ brew install openssl@1.1
Using on Windows
- Install mingw-w64
- Install pkg-config-lite
- Build (or install precompiled) openssl for mingw32-w64
- Set PKG_CONFIG_PATH to the directory containing openssl.pc (i.e. c:\mingw64\mingw64\lib\pkgconfig)