]> git.argeo.org Git - lgpl/argeo-commons.git/blob - PBEKeySpecCallback.java
a0fe3e0ff8f48a12f8995e57c44da5e3916f21b9
[lgpl/argeo-commons.git] / PBEKeySpecCallback.java
1 package org.argeo.util.crypto;
2
3 import javax.crypto.spec.PBEKeySpec;
4 import javax.security.auth.callback.Callback;
5 import javax.security.auth.callback.PasswordCallback;
6
7 /**
8 * All information required to set up a {@link PBEKeySpec} bar the password
9 * itself (use a {@link PasswordCallback})
10 */
11 public class PBEKeySpecCallback implements Callback {
12 private String secretKeyFactory;
13 private byte[] salt;
14 private Integer iterationCount;
15 /** Can be null for some algorithms */
16 private Integer keyLength;
17 /** Can be null, will trigger secret key encryption if not */
18 private String secretKeyEncryption;
19
20 public void set(String secretKeyFactory, byte[] salt,
21 Integer iterationCount, Integer keyLength,
22 String secretKeyEncryption) {
23 this.secretKeyFactory = secretKeyFactory;
24 this.salt = salt;
25 this.iterationCount = iterationCount;
26 this.keyLength = keyLength;
27 this.secretKeyEncryption = secretKeyEncryption;
28 }
29
30 public String getSecretKeyFactory() {
31 return secretKeyFactory;
32 }
33
34 public byte[] getSalt() {
35 return salt;
36 }
37
38 public Integer getIterationCount() {
39 return iterationCount;
40 }
41
42 public Integer getKeyLength() {
43 return keyLength;
44 }
45
46 public String getSecretKeyEncryption() {
47 return secretKeyEncryption;
48 }
49
50 }