OpenSSL Jostle

Java cryptography provider for OpenSSL From Wikipedia, the free encyclopedia

OpenSSL Jostle (commonly referred to as Jostle) is a cryptographic software project that provides a Java Cryptography Architecture (JCA) and Java Cryptography Extension (JCE) provider backed by the native OpenSSL cryptographic library.[1]


DevelopersOpenSSL Project; Legion of the Bouncy Castle
Written inJava, C
Operating systemCross-platform
PlatformJava Virtual Machine
Quick facts Developers, Written in ...
OpenSSL Jostle
DevelopersOpenSSL Project; Legion of the Bouncy Castle
Written inJava, C
Operating systemCross-platform
PlatformJava Virtual Machine
TypeCryptography library
Websitehttps://openssl-jostle.org
Close

The project enables Java applications to access cryptographic algorithms implemented in OpenSSL through the standard Java security provider framework. It is developed as a collaboration between the OpenSSL community and members of the Bouncy Castle cryptography project.[2]

Jostle aims to simplify integration between the OpenSSL native cryptographic library and Java applications while maintaining compatibility with the standard Java Cryptography Architecture APIs.

Overview

OpenSSL Jostle allows Java applications to use the OpenSSL cryptographic library through the Java security provider interface.[1] The provider exposes OpenSSL implementations of cryptographic algorithms and operations through standard Java APIs such as JCA and JCE.

OpenSSL is widely used across many operating systems and applications for implementing protocols such as Transport Layer Security (TLS) and for performing cryptographic operations including encryption, hashing, and digital signatures.[3]

By acting as a Java security provider, Jostle allows applications to leverage OpenSSL implementations while continuing to use the standard Java security framework.

Architecture

The architecture of OpenSSL Jostle consists of a Java security provider implementation that interfaces with the OpenSSL library using native interoperability mechanisms.

Key architectural components include:

  • A Java provider compatible with the Java Cryptography Architecture
  • Native bindings that invoke functions from the OpenSSL library
  • Support for native integration through Java Native Interface (JNI) and Foreign Function Interface (FFI)
  • Configuration mechanisms for managing native libraries and deployment environments[1]

This design allows applications to switch cryptographic providers without significant changes to application code.

Features

Major features of OpenSSL Jostle include:

  • Integration of OpenSSL cryptographic algorithms with the Java security provider framework
  • Compatibility with JCA and JCE APIs
  • Support for both JNI-based and FFI-based native integration
  • Flexible configuration for native library loading and deployment
  • Packaging as a Java archive (JAR) that can be installed as a Java security provider[1]

The project aims to provide Java developers with access to OpenSSL's widely deployed cryptographic implementations while maintaining compatibility with existing Java security infrastructure.

Development

OpenSSL Jostle is developed as part of the broader OpenSSL ecosystem of projects. Development involves collaboration between contributors from the OpenSSL project and the Bouncy Castle cryptography community.[2]

The source code and development resources are hosted in public repositories associated with OpenSSL community projects.

Usage

In a typical deployment, OpenSSL Jostle is added as a security provider in the Java runtime environment. Once installed, Java applications can request cryptographic services such as encryption, key generation, and digital signatures using standard APIs.

The provider then delegates these operations to the underlying OpenSSL implementations.

See also

References

References

Related Articles

Wikiwand AI