All Projects → genotrance → nimssl

genotrance / nimssl

Licence: MIT license
Nimssl is a Nim wrapper for the OpenSSL library

Programming Languages

nim
578 projects

Projects that are alternatives of or similar to nimssl

jruby-openssl
JRuby's OpenSSL gem
Stars: ✭ 39 (+116.67%)
Mutual labels:  ssl, openssl
sslscanner
SSL Scanner written in Crystal
Stars: ✭ 18 (+0%)
Mutual labels:  ssl, openssl
Wolfssl
wolfSSL (formerly CyaSSL) is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud. wolfSSL supports up to TLS 1.3!
Stars: ✭ 1,098 (+6000%)
Mutual labels:  ssl, openssl
Testssl.sh
Testing TLS/SSL encryption anywhere on any port
Stars: ✭ 5,676 (+31433.33%)
Mutual labels:  ssl, openssl
Mutual Tls Ssl
🔐 Tutorial of setting up Security for your API with one way authentication with TLS/SSL and mutual mutual authentication for a java based web server and a client with both Spring Boot. Different clients are provided such as Apache HttpClient, OkHttp, Spring RestTemplate, Spring WebFlux WebClient Jetty and Netty, the old and the new JDK HttpClient, the old and the new Jersey Client, Google HttpClient, Unirest, Retrofit, Feign, Methanol, vertx, Scala client Finagle, Featherbed, Dispatch Reboot, AsyncHttpClient, Sttp, Akka, Requests Scala, Http4s Blaze, Kotlin client Fuel, http4k, Kohttp and ktor. Also other server examples are available such as jersey with grizzly. Also gRPC examples are included
Stars: ✭ 163 (+805.56%)
Mutual labels:  ssl, openssl
Pyopenssl
A Python wrapper around the OpenSSL library
Stars: ✭ 701 (+3794.44%)
Mutual labels:  ssl, openssl
Ssl Checker
Python script that collects SSL/TLS information from hosts
Stars: ✭ 94 (+422.22%)
Mutual labels:  ssl, openssl
openssl-RPM-Builder
Build latest OpenSSL binary
Stars: ✭ 46 (+155.56%)
Mutual labels:  ssl, openssl
Search Guard Ssl
Elasticsearch SSL for free. Supports native Open SSL.
Stars: ✭ 159 (+783.33%)
Mutual labels:  ssl, openssl
Tls Channel
A Java library that implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS for Java applications.
Stars: ✭ 113 (+527.78%)
Mutual labels:  ssl, openssl
Openssl
OpenSSL bindings for Go
Stars: ✭ 397 (+2105.56%)
Mutual labels:  ssl, openssl
Snuffy
Snuffy is a simple command line tool to inspect SSL/TLS data.
Stars: ✭ 236 (+1211.11%)
Mutual labels:  ssl, openssl
E2guardian
E2guardian is a web content filter that can work in proxy, transparent or icap server modes
Stars: ✭ 340 (+1788.89%)
Mutual labels:  ssl, openssl
Cve 2016 8610 Poc
CVE-2016-8610 (SSL Death Alert) PoC
Stars: ✭ 26 (+44.44%)
Mutual labels:  ssl, openssl
qsslcaudit
test SSL/TLS clients how secure they are
Stars: ✭ 22 (+22.22%)
Mutual labels:  ssl, openssl
Pric
Simple zero-config tool to create Private Certificate Authority & issue locally-trusted development server certificates with any domain names you'd like. SSL certificates for development purposes.
Stars: ✭ 87 (+383.33%)
Mutual labels:  ssl, openssl
tls-ca-manage
Multi-level Certificate Authority Management tool, front-end tool to OpenSSL, written in bash shell.
Stars: ✭ 19 (+5.56%)
Mutual labels:  ssl, openssl
jota-cert-checker
Check SSL certificate expiration date of a list of sites.
Stars: ✭ 45 (+150%)
Mutual labels:  ssl, openssl
Bouncer
Bouncer is a network TCP port redirector/forward proxy (like rinetd) with extra features like Reverse tunneling (like ssh -R), SSL tunneling (like stunnel), connection Failover, LoadBalancing and Clustering. In pure Java (BIO)
Stars: ✭ 103 (+472.22%)
Mutual labels:  ssl, aes
Lua Openssl
Openssl binding for Lua
Stars: ✭ 206 (+1044.44%)
Mutual labels:  ssl, openssl

Nimssl is a Nim wrapper for the OpenSSL library.

Nimssl is distributed as a Nimble package and depends on Nimterop to generate the wrappers. The OpenSSL source code is downloaded using Git so having git in the path is required.

Installation

Nimssl can be installed via Nimble:

> nimble install nimssl

This will download, wrap and install nimssl in the standard Nimble package location, typically ~/.nimble. Once installed, its libraries can be imported into any Nim program.

Usage

To get started, here is an example:

import nimssl/crypto

var test = "Hello, world!"
var hash = SHA256(addr test[0], cast[uint](test.len()), nil)

echo hash.toArray(32).toHex()

When compiling with nimssl/crypto, include the -d:cryptoStd command line flag, and -d:sslStd when compiling with nimssl/ssl. The first compile will be slow, but those after should be much faster. If you are experiencing consistently slow compile times, try including the -f:off flag.

Nimssl currently wraps almost everything from OpenSSL's libcrypto and libssl, but few things are tested (refer to tests). Contributions to the tests pool are appreciated!

Credits

Nimssl wraps the OpenSSL source code and all licensing terms of OpenSSL apply to the usage of this package.

Feedback

Nimssl is a work in progress and any feedback or suggestions are welcome. It is hosted on GitHub with an MIT license so issues, forks and PRs are most appreciated.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].