package org.araqne.storage.crypto.impl; import java.security.PrivateKey; import java.security.PublicKey; import org.apache.felix.ipojo.annotations.Component; import org.apache.felix.ipojo.annotations.Provides; import org.araqne.storage.crypto.BlockCipher; import org.araqne.storage.crypto.LogCryptoException; import org.araqne.storage.crypto.LogCryptoService; import org.araqne.storage.crypto.MacBuilder; import org.araqne.storage.crypto.PkiCipher; @Component(name="java-logcrypto-service") @Provides public class JavaLogCryptoService implements LogCryptoService { @Override public PkiCipher newPkiCipher(PublicKey publicKey) throws LogCryptoException { return new JavaPkiCipher(publicKey); } @Override public PkiCipher newPkiCipher(PublicKey publicKey, PrivateKey privateKey) throws LogCryptoException { return new JavaPkiCipher(publicKey, privateKey); } @Override public BlockCipher newBlockCipher(String algorithm, byte[] cipherKey) throws LogCryptoException { return new JavaBlockCipher(algorithm, cipherKey); } @Override public MacBuilder newMacBuilder(String algorithm, byte[] digestKey) throws LogCryptoException { return new JavaMacBuilder(algorithm, digestKey); } }