Top Description Inners Fields Constructors Methods
org.bouncycastle.tls.crypto.impl.jcajce

public Class JcaTlsCryptoProvider

extends Object
implements TlsCryptoProvider
Class Inheritance
All Implemented Interfaces
org.bouncycastle.tls.crypto.TlsCryptoProvider
Imports
java.security.DigestException, .GeneralSecurityException, .MessageDigest, .Provider, .SecureRandom, .SecureRandomSpi, org.bouncycastle.jcajce.util.DefaultJcaJceHelper, .JcaJceHelper, .NamedJcaJceHelper, .ProviderJcaJceHelper, org.bouncycastle.tls.crypto.TlsCryptoProvider

Basic builder class for constructing standard JcaTlsCrypto classes.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private JcaJceHelper

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public JcaTlsCrypto

Returns:

a new JcaTlsCrypto.
create
(SecureRandom
SecureRandom for generating key material and seeds for nonce generation.
random
)

Implements org.bouncycastle.tls.crypto.TlsCryptoProvider.create.

Create a new JcaTlsCrypto using the current builder configuration and the passed in entropy source..

public JcaTlsCrypto

Returns:

a new JcaTlsCrypto.
create
(SecureRandom
SecureRandom for generating key material.
keyRandom
,
SecureRandom
SecureRandom for generating nonces.
nonceRandom
)

Implements org.bouncycastle.tls.crypto.TlsCryptoProvider.create.

Create a new JcaTlsCrypto using the current builder configuration.

public JcaJceHelper
public JcaTlsCryptoProvider

Returns:

the current builder instance.
setProvider
(Provider
the provider class to source cryptographic services from.
provider
)

Set the provider of cryptographic services for any JcaTlsCrypto we build.

public JcaTlsCryptoProvider

Returns:

the current builder instance.
setProvider
(String
the name of the provider class to source cryptographic services from.
providerName
)

Set the provider of cryptographic services for any JcaTlsCrypto we build by name.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

helperback to summary
private JcaJceHelper helper

Constructor Detail

JcaTlsCryptoProviderback to summary
public JcaTlsCryptoProvider()

Method Detail

createback to summary
public JcaTlsCrypto create(SecureRandom random)

Implements org.bouncycastle.tls.crypto.TlsCryptoProvider.create.

Create a new JcaTlsCrypto using the current builder configuration and the passed in entropy source..

Parameters
random:SecureRandom

SecureRandom for generating key material and seeds for nonce generation.

Returns:JcaTlsCrypto

a new JcaTlsCrypto.

createback to summary
public JcaTlsCrypto create(SecureRandom keyRandom, SecureRandom nonceRandom)

Implements org.bouncycastle.tls.crypto.TlsCryptoProvider.create.

Create a new JcaTlsCrypto using the current builder configuration.

Parameters
keyRandom:SecureRandom

SecureRandom for generating key material.

nonceRandom:SecureRandom

SecureRandom for generating nonces.

Returns:JcaTlsCrypto

a new JcaTlsCrypto.

getHelperback to summary
public JcaJceHelper getHelper()
setProviderback to summary
public JcaTlsCryptoProvider setProvider(Provider provider)

Set the provider of cryptographic services for any JcaTlsCrypto we build.

Parameters
provider:Provider

the provider class to source cryptographic services from.

Returns:JcaTlsCryptoProvider

the current builder instance.

setProviderback to summary
public JcaTlsCryptoProvider setProvider(String providerName)

Set the provider of cryptographic services for any JcaTlsCrypto we build by name.

Parameters
providerName:String

the name of the provider class to source cryptographic services from.

Returns:JcaTlsCryptoProvider

the current builder instance.

org.bouncycastle.tls.crypto.impl.jcajce back to summary

private Class JcaTlsCryptoProvider.NonceEntropySource

extends SecureRandom
Class Inheritance
Annotations
@SuppressWarnings:serial

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Inherited from java.security.SecureRandom:
generateSeedgetAlgorithmgetInstancegetInstancegetInstancegetInstancegetInstancegetInstancegetInstanceStronggetParametersgetProvidergetSeednextnextBytesnextBytesreseedreseedsetSeedsetSeedtoString

Constructor Detail

NonceEntropySourceback to summary
pack-priv NonceEntropySource(JcaJceHelper helper, SecureRandom random) throws GeneralSecurityException
org.bouncycastle.tls.crypto.impl.jcajce back to summary

private Class JcaTlsCryptoProvider.NonceEntropySource.NonceEntropySourceSpi

extends SecureRandomSpi
Class Inheritance

Field Summary

Modifier and TypeField and Description
private final MessageDigest
private final byte[]
private final SecureRandom
private final byte[]

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
protected byte[]
engineGenerateSeed(int
the number of seed bytes to generate.
seedLen
)

Implements abstract java.security.SecureRandomSpi.engineGenerateSeed.

Returns the given number of seed bytes.

protected void
engineNextBytes(byte[]
the array to be filled in with random bytes.
bytes
)

Implements abstract java.security.SecureRandomSpi.engineNextBytes.

Generates a user-specified number of random bytes.

protected void
engineSetSeed(byte[]
the seed.
bytes
)

Implements abstract java.security.SecureRandomSpi.engineSetSeed.

Reseeds this random object with the given seed.

private void
runDigest(byte[] x, byte[] y, byte[] z)

Inherited from java.security.SecureRandomSpi:
engineGetParametersengineNextBytesengineReseedtoString

Field Detail

digestback to summary
private final MessageDigest digest
seedback to summary
private final byte[] seed
sourceback to summary
private final SecureRandom source
stateback to summary
private final byte[] state

Constructor Detail

NonceEntropySourceSpiback to summary
pack-priv NonceEntropySourceSpi(SecureRandom source, MessageDigest digest)

Method Detail

engineGenerateSeedback to summary
protected byte[] engineGenerateSeed(int seedLen)

Implements abstract java.security.SecureRandomSpi.engineGenerateSeed.

Doc from java.security.SecureRandomSpi.engineGenerateSeed.

Returns the given number of seed bytes. This call may be used to seed other random number generators.

Parameters
seedLen:int

the number of seed bytes to generate.

Returns:byte[]

the seed bytes.

engineNextBytesback to summary
protected void engineNextBytes(byte[] bytes)

Implements abstract java.security.SecureRandomSpi.engineNextBytes.

Doc from java.security.SecureRandomSpi.engineNextBytes.

Generates a user-specified number of random bytes.

Some random number generators can only generate a limited amount of random bytes per invocation. If the size of bytes is greater than this limit, the implementation should invoke its generation process multiple times to completely fill the buffer before returning from this method.

Parameters
bytes:byte[]

the array to be filled in with random bytes.

engineSetSeedback to summary
protected void engineSetSeed(byte[] bytes)

Implements abstract java.security.SecureRandomSpi.engineSetSeed.

Doc from java.security.SecureRandomSpi.engineSetSeed.

Reseeds this random object with the given seed. The seed supplements, rather than replaces, the existing seed. Thus, repeated calls are guaranteed never to reduce randomness.

Parameters
bytes:byte[]

the seed.

runDigestback to summary
private void runDigest(byte[] x, byte[] y, byte[] z)