public class BCryptKdfOptions extends java.lang.Object implements OpenSSHKdfOptions
| Modifier and Type | Class and Description |
|---|---|
static class |
BCryptKdfOptions.BCryptBadRoundsException |
| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_MAX_ROUNDS
Various discussions on the net seem to indicate that 64 is the value at which many computers seem to slow down
noticeably, so we are rather generous here.
|
private static java.util.concurrent.atomic.AtomicInteger |
MAX_ROUNDS_HOLDER |
static java.lang.String |
NAME |
private int |
numRounds |
private byte[] |
salt |
IS_NONE_KDF, MAX_KDF_NAME_LENGTH, MAX_KDF_OPTIONS_SIZE, NONE_KDFBY_NAME_COMPARATOR, NAME_EXTRACTOR| Constructor and Description |
|---|
BCryptKdfOptions() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
bcryptKdf(byte[] password,
byte[] output) |
byte[] |
decodePrivateKeyBytes(SessionContext session,
NamedResource resourceKey,
java.lang.String cipherName,
byte[] privateDataBytes,
java.lang.String password) |
boolean |
equals(java.lang.Object obj) |
static int |
getMaxAllowedRounds() |
java.lang.String |
getName() |
int |
getNumRounds() |
byte[] |
getSalt() |
int |
hashCode() |
protected void |
initialize(java.io.InputStream stream,
int maxSaltSize) |
void |
initialize(java.lang.String name,
byte[] kdfOptions) |
boolean |
isEncrypted() |
static void |
setMaxAllowedRounds(int value) |
void |
setNumRounds(int numRounds) |
void |
setSalt(byte[] salt) |
java.lang.String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitfindByName, getNameList, getNames, ofName, removeByNamepublic static final java.lang.String NAME
public static final int DEFAULT_MAX_ROUNDS
-a parameter to
the ssh-keygen command) is usually 16.private static final java.util.concurrent.atomic.AtomicInteger MAX_ROUNDS_HOLDER
private byte[] salt
private int numRounds
public void initialize(java.lang.String name,
byte[] kdfOptions)
throws java.io.IOException
initialize in interface OpenSSHKdfOptionsjava.io.IOExceptionprotected void initialize(java.io.InputStream stream,
int maxSaltSize)
throws java.io.IOException
java.io.IOExceptionpublic boolean isEncrypted()
isEncrypted in interface OpenSSHKeyDecryptorpublic byte[] decodePrivateKeyBytes(SessionContext session, NamedResource resourceKey, java.lang.String cipherName, byte[] privateDataBytes, java.lang.String password) throws java.io.IOException, java.security.GeneralSecurityException
decodePrivateKeyBytes in interface OpenSSHKeyDecryptorjava.io.IOExceptionjava.security.GeneralSecurityExceptionprotected void bcryptKdf(byte[] password,
byte[] output)
throws java.io.IOException,
java.security.GeneralSecurityException
java.io.IOExceptionjava.security.GeneralSecurityExceptionpublic final java.lang.String getName()
getName in interface NamedResourcepublic byte[] getSalt()
public void setSalt(byte[] salt)
public int getNumRounds()
public void setNumRounds(int numRounds)
public int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Objectpublic static int getMaxAllowedRounds()
public static void setMaxAllowedRounds(int value)