A high-level SSL/TLS configuration library for Java, Kotlin, and Scala HTTP clients and servers with hot reloading and rich utilities.
Ayza is a high-level SSL/TLS configuration library for Java, Kotlin, and Scala applications. It simplifies setting up secure HTTP clients and servers by abstracting low-level SSLContext, KeyManager, and TrustManager creation, supporting features like hot reloading, PEM file loading, and runtime certificate management.
Java, Kotlin, and Scala developers building HTTP clients or servers that require SSL/TLS configuration, especially in microservices environments where certificate management and zero-downtime updates are critical.
Developers choose Ayza for its unified builder API that works with 40+ HTTP clients, eliminates configuration boilerplate, and enables advanced features like runtime SSL material reloading and dynamic trust management without application restarts.
🔐 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
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Abstracts low-level SSLContext, KeyManager, and TrustManager creation with a fluent builder, reducing boilerplate code for configuring 40+ HTTP clients as shown in the README examples.
Supports swapping SSL materials at runtime without restarting clients or servers, enabling zero-downtime certificate updates, demonstrated with SSLFactoryUtils.reload() methods.
Loads identity and trust materials from various sources like keystores, PEM files, and system certificates, including support for encrypted PEMs and multiple keystores.
Includes utilities for certificate extraction, hostname verification, and dynamic trust management, such as CertificateExtractingClient and inflatable trust material for runtime additions.
Requires separate modules for PEM support (ayza-for-pem), adding complexity for projects that only need basic keystore loading, and introduces a dependency on SLF4J for logging.
The builder API and advanced features like identity routing can be overkill for straightforward SSL setups, potentially increasing learning curve and configuration effort unnecessarily.
While it supports many HTTP clients, integration with some frameworks may require additional mapping or configuration, and there's no built-in support for non-JVM languages.