SkillAgentSearch skills...

Ayza

🔐 An SSL library for configuring http client or server. Rich with features such as hot reloading ssl and trusting additional certificates during runtime, combining multiple keystores, loading pem files and os/jdk certificates, logging certificate information during ssl handshake, bypassing ssl configuration from other libraries and more

Install / Use

/learn @Hakky54/Ayza

README

Actions Status Security Rating Known Vulnerabilities Coverage JDK Compatibility Kotlin Compatibility Scala Compatibility Android API Compatibility Apache2 license Maven Central Dependencies: none GitHub stars chart FOSSA Status

SonarCloud

Ayza 🔐

Hey, hello there 👋 Welcome, I hope you will like this library. Feel free to drop a message in the 📖 Guestbook, I would love to hear your story and experience in using this library.

I have created this library with ❤️ and passion, mostly during evening and night hours. If you use my library and want to appreciate the work I have done, please consider to sponsor this project as a way to contribute back to the community. There are 3 options available to pick from: GitHub, Ko-fi and Open Collective

Install library with:

Install with Maven

<dependency>
    <groupId>io.github.hakky54</groupId>
    <artifactId>ayza</artifactId>
    <version>10.0.4</version>
</dependency>

Install with Gradle

implementation 'io.github.hakky54:ayza:10.0.4'

Install with Gradle Kotlin DSL

implementation("io.github.hakky54:ayza:10.0.4")

Install with Scala SBT

libraryDependencies += "io.github.hakky54" % "ayza" % "10.0.4"

Install with Apache Ivy

<dependency org="io.github.hakky54" name="ayza" rev="10.0.4"/>

Table of contents

  1. Introduction
  2. Usage
  3. Additional mappers for specific libraries
  4. Tested HTTP Clients
  5. Tested HTTP Servers
  6. Contributing
  7. Contributors
  8. License

Introduction

Ayza is a library which provides a High-Level SSLFactory class for configuring a http client or a server to communicate over SSL/TLS for one way authentication or two-way authentication. It is designed to be as lightweight as possible by having minimized the external dependencies. The core library only depends on the SLF4J logging API.

History

As a Java developer I worked for different kinds of clients. Most of the time the application required to call other microservices within the organization or some other http servers. These requests needed to be secured, and therefore it was required to load the ssl materials into the http client. Each http client may require different input value to enable https requests, and therefore I couldn't just copy-paste my earlier configuration into the new project. The resulting configuration was in my opinion always verbose, not reusable, hard to test and hard to maintain.

As a developer you also need to know how to properly load your file into your application and consume it as a KeyStore instance. Therefore, you also need to understand how to properly create for example a KeyManager and a TrustManager for you SSLContext. Ayza is taking the responsibility of creating an instance of SSLContext from the provided arguments, and it will provide you all the ssl materials which are required to configure 40+ different Http Client for Java, Scala and Kotlin. I wanted the library to be as easy as possible to use for all developers to give them a kickstart when configuring their Http Client. So feel free to provide feedback or feature requests.

The library has been renamed to

Related Skills

View on GitHub
GitHub Stars572
CategoryDevelopment
Updated3d ago
Forks78

Languages

Java

Security Score

100/100

Audited on Mar 20, 2026

No findings