Package io.aether.crypto.sodium
Class SodiumCryptoProvider
- java.lang.Object
-
- io.aether.crypto.sodium.SodiumCryptoProvider
-
- All Implemented Interfaces:
io.aether.crypto.CryptoProvider
public class SodiumCryptoProvider extends java.lang.Object implements io.aether.crypto.CryptoProvider
-
-
Field Summary
Fields Modifier and Type Field Description static SodiumCryptoProviderINSTANCE
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description io.aether.crypto.CryptoEnginecreateAsymmetricEngine(io.aether.crypto.AKey.AsymmetricPrivate privateKey, io.aether.crypto.AKey.AsymmetricPublic publicKey)io.aether.crypto.CryptoEnginecreateAsymmetricEngine(io.aether.crypto.AKey.AsymmetricPublic key)io.aether.crypto.CryptoEnginecreateAsymmetricEngine(io.aether.crypto.PairAsymKeys keys)io.aether.crypto.PairAsymKeyscreateAsymmetricKeys()<T extends io.aether.crypto.AKey>
TcreateKey(io.aether.crypto.KeyType keyType, byte[] data)<T extends io.aether.crypto.AKey>
TcreateKey(java.lang.String data)io.aether.crypto.SigncreateSign(byte[] data)io.aether.crypto.SigncreateSign(java.lang.String data)io.aether.crypto.SignercreateSigner(io.aether.crypto.AKey.SignPublic publicKey)io.aether.crypto.SignercreateSigner(io.aether.crypto.AKey.SignPublic publicKey, io.aether.crypto.AKey.SignPrivate privateKey)io.aether.crypto.SignercreateSigner(io.aether.crypto.PairSignKeys keys)io.aether.crypto.PairSignKeyscreateSignKeys()io.aether.crypto.AKey.SignPrivatecreateSignPrivateKey(byte[] data)io.aether.crypto.AKey.SignPubliccreateSignPublicKey(byte[] data)io.aether.crypto.CryptoEnginecreateSymmetricEngine(io.aether.crypto.AKey.Symmetric key)io.aether.crypto.AKey.SymmetriccreateSymmetricKey()io.aether.crypto.AKey.SymmetriccreateSymmetricKey(byte[] bytes)io.aether.crypto.PairSymKeysderiveSymmetricKeys(io.aether.crypto.AKey.Symmetric masterKey, int serverId, int keyNumber)Derives a pair of symmetric keys (for client-to-server and server-to-client communication) using Key Derivation Function (KDF) from a master key and session/key identifiers.java.lang.StringgetCryptoLibName()
-
-
-
Field Detail
-
INSTANCE
public static final SodiumCryptoProvider INSTANCE
-
-
Method Detail
-
createSignPublicKey
public io.aether.crypto.AKey.SignPublic createSignPublicKey(byte[] data)
- Specified by:
createSignPublicKeyin interfaceio.aether.crypto.CryptoProvider
-
createSignPrivateKey
public io.aether.crypto.AKey.SignPrivate createSignPrivateKey(byte[] data)
- Specified by:
createSignPrivateKeyin interfaceio.aether.crypto.CryptoProvider
-
createSymmetricKey
public io.aether.crypto.AKey.Symmetric createSymmetricKey(byte[] bytes)
- Specified by:
createSymmetricKeyin interfaceio.aether.crypto.CryptoProvider
-
getCryptoLibName
public java.lang.String getCryptoLibName()
- Specified by:
getCryptoLibNamein interfaceio.aether.crypto.CryptoProvider
-
createAsymmetricKeys
public io.aether.crypto.PairAsymKeys createAsymmetricKeys()
- Specified by:
createAsymmetricKeysin interfaceio.aether.crypto.CryptoProvider
-
createSymmetricKey
public io.aether.crypto.AKey.Symmetric createSymmetricKey()
- Specified by:
createSymmetricKeyin interfaceio.aether.crypto.CryptoProvider
-
createSignKeys
public io.aether.crypto.PairSignKeys createSignKeys()
- Specified by:
createSignKeysin interfaceio.aether.crypto.CryptoProvider
-
createSigner
public io.aether.crypto.Signer createSigner(io.aether.crypto.PairSignKeys keys)
- Specified by:
createSignerin interfaceio.aether.crypto.CryptoProvider
-
createSigner
public io.aether.crypto.Signer createSigner(io.aether.crypto.AKey.SignPublic publicKey, io.aether.crypto.AKey.SignPrivate privateKey)- Specified by:
createSignerin interfaceio.aether.crypto.CryptoProvider
-
createSigner
public io.aether.crypto.Signer createSigner(io.aether.crypto.AKey.SignPublic publicKey)
- Specified by:
createSignerin interfaceio.aether.crypto.CryptoProvider
-
createSymmetricEngine
public io.aether.crypto.CryptoEngine createSymmetricEngine(io.aether.crypto.AKey.Symmetric key)
- Specified by:
createSymmetricEnginein interfaceio.aether.crypto.CryptoProvider
-
createAsymmetricEngine
public io.aether.crypto.CryptoEngine createAsymmetricEngine(io.aether.crypto.AKey.AsymmetricPublic key)
- Specified by:
createAsymmetricEnginein interfaceio.aether.crypto.CryptoProvider
-
createAsymmetricEngine
public io.aether.crypto.CryptoEngine createAsymmetricEngine(io.aether.crypto.AKey.AsymmetricPrivate privateKey, io.aether.crypto.AKey.AsymmetricPublic publicKey)- Specified by:
createAsymmetricEnginein interfaceio.aether.crypto.CryptoProvider
-
createAsymmetricEngine
public io.aether.crypto.CryptoEngine createAsymmetricEngine(io.aether.crypto.PairAsymKeys keys)
- Specified by:
createAsymmetricEnginein interfaceio.aether.crypto.CryptoProvider
-
createKey
public <T extends io.aether.crypto.AKey> T createKey(io.aether.crypto.KeyType keyType, byte[] data)- Specified by:
createKeyin interfaceio.aether.crypto.CryptoProvider
-
createKey
public <T extends io.aether.crypto.AKey> T createKey(java.lang.String data)
- Specified by:
createKeyin interfaceio.aether.crypto.CryptoProvider
-
createSign
public io.aether.crypto.Sign createSign(java.lang.String data)
- Specified by:
createSignin interfaceio.aether.crypto.CryptoProvider
-
deriveSymmetricKeys
public io.aether.crypto.PairSymKeys deriveSymmetricKeys(io.aether.crypto.AKey.Symmetric masterKey, int serverId, int keyNumber)Derives a pair of symmetric keys (for client-to-server and server-to-client communication) using Key Derivation Function (KDF) from a master key and session/key identifiers.- Specified by:
deriveSymmetricKeysin interfaceio.aether.crypto.CryptoProvider- Parameters:
masterKey- The master symmetric key.serverId- The server identifier (32-bit).keyNumber- The key number/index (32-bit).- Returns:
- A PairSymmetricKeys object containing client and server keys.
-
createSign
public io.aether.crypto.Sign createSign(byte[] data)
- Specified by:
createSignin interfaceio.aether.crypto.CryptoProvider
-
-