mutual-tls-ssl

API security tutorial

A tutorial project demonstrating a secure API setup with TLS/SSL authentication for Java-based web servers and clients.

🔐 Tutorial of setting up Security for your API with one way authentication with TLS/SSL and 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, WebSocket and ElasticSearch examples are included

GitHub

575 stars
19 watching
123 forks
Language: Java
last commit: almost 2 years ago
Linked from 2 awesome lists

certificatecertificate-authoritycertificate-signing-requestencryptionhttpsjavakeystorekeytoolkotlinmutual-authenticationmutual-tlsopensslscalasecurityserverspring-bootssltlstruststoretwo-way-ssl-authentication

Backlinks from these awesome lists:

Related projects:

RepositoryDescriptionStars
hakky54/sslcontext-kickstartA lightweight library for configuring secure HTTP communications using SSL/TLS certificates and key management.506
refraction-networking/utlsA fork of the Go standard TLS library providing low-level access to the ClientHello message with fingerprinting resistance features.1,736
maxtoyberman/react-native-ssl-pinningProvides SSL pinning and cookie handling for secure networking in mobile apps using OkHttp 3 on Android and AFNetworking on iOS.349
kitura/bluesslserviceAn SSL/TLS add-in framework for secure networking in Swift97
gokul595/api_guardProvides JWT-based authentication with token refreshing and blacklisting for Rails APIs276
droe/sslsplitTools for intercepting and analyzing SSL/TLS encrypted network connections1,767
shariltumin/tscpAn implementation of an endpoint-to-endpoint encryption protocol based on Diffie-Hellman-Merkle and TLS1.3 for secure communication between resource-constrained microcontrollers.2
marianobarrios/tls-channelA Java library that enables easy-to-use TLS encryption for secure networking196
jaliss/securesocialProvides authentication APIs for Play Framework applications using OAuth and OpenID protocols1,187
triska/letswicryptAn open-source implementation of HTTPS servers using Prolog, a programming language well-suited for web applications.36
haskell-tls/hs-tlsA Haskell implementation of the Transport Layer Security protocol for secure communication between servers and clients.405
gitguardian/apisecuritybestpracticesResources to help developers keep sensitive information secret and mitigate potential security breaches1,923
frasertweedale/hs-joseHaskell implementation of JSON Object Signing and Encryption & JWT (JSON Web Token)124
tfausak/wussA library for creating secure WebSocket clients in Haskell.69
hakky54/certificate-ripperA tool to extract and format SSL/TLS certificates from servers718