1 package org.kuali.common.jute.enc.openssl;
2
3 import static com.google.common.base.Charsets.UTF_8;
4 import static com.google.common.io.BaseEncoding.base64;
5
6 import java.nio.charset.Charset;
7
8 import org.kuali.common.jute.enc.EncryptionPassword;
9 import org.kuali.common.jute.enc.EncryptionPasswordProvider;
10 import org.kuali.common.jute.enc.Encryptor;
11 import org.kuali.common.jute.enc.openssl.annotation.OpenSSLCharset;
12 import org.kuali.common.jute.enc.openssl.annotation.OpenSSLEncoder;
13
14 import com.google.common.io.BaseEncoding;
15 import com.google.inject.AbstractModule;
16
17 public class OpenSSLModule extends AbstractModule {
18
19 @Override
20 protected void configure() {
21 bind(String.class).annotatedWith(EncryptionPassword.class).toProvider(EncryptionPasswordProvider.class).asEagerSingleton();
22 bind(OpenSSLSaltContext.class).toProvider(OpenSSLSaltContextProvider.class).asEagerSingleton();
23 bind(BaseEncoding.class).annotatedWith(OpenSSLEncoder.class).toInstance(base64());
24 bind(Charset.class).annotatedWith(OpenSSLCharset.class).toInstance(UTF_8);
25 bind(OpenSSLContext.class).toProvider(OpenSSLContext.Builder.class).asEagerSingleton();
26 bind(Encryptor.class).to(OpenSSLEncryptor.class).asEagerSingleton();
27 }
28 }