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

571 stars
19 watching
121 forks
Language: Java
last commit: about 1 month ago
Linked from 2 awesome lists

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

Backlinks from these awesome lists:

Related projects:

Repository Description Stars
hakky54/sslcontext-kickstart A lightweight library for configuring secure HTTP communications using SSL/TLS certificates and key management. 503
refraction-networking/utls Provides low-level access to the ClientHello message for mimicry purposes in TLS handshakes. 1,709
maxtoyberman/react-native-ssl-pinning Provides SSL pinning and cookie handling for secure networking in mobile apps using OkHttp 3 on Android and AFNetworking on iOS. 346
kitura/bluesslservice An SSL/TLS add-in framework for secure networking in Swift 97
gokul595/api_guard Provides JWT-based authentication with token refreshing and blacklisting for Rails APIs 276
droe/sslsplit Tools for intercepting and analyzing SSL/TLS encrypted network connections 1,760
shariltumin/tscp An 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-channel A Java library that enables easy-to-use TLS encryption for secure networking 192
jaliss/securesocial Provides authentication APIs for Play Framework applications using OAuth and OpenID protocols 1,187
triska/letswicrypt An open-source implementation of HTTPS servers using Prolog, a programming language well-suited for web applications. 36
haskell-tls/hs-tls A Haskell implementation of the Transport Layer Security protocol for secure communication between servers and clients. 403
gitguardian/apisecuritybestpractices Resources to help developers keep sensitive information secret and mitigate potential security breaches 1,917
frasertweedale/hs-jose Haskell implementation of JSON Object Signing and Encryption & JWT (JSON Web Token) 122
tfausak/wuss A Haskell library that simplifies the creation of secure WebSocket clients. 69
hakky54/certificate-ripper Extracts server certificates from URLs using a fast and easy-to-use CLI tool 713