Package org.bouncycastle.jcajce.spec
Class HybridValueParameterSpec
- java.lang.Object
-
- org.bouncycastle.jcajce.spec.HybridValueParameterSpec
-
- All Implemented Interfaces:
java.security.spec.AlgorithmParameterSpec
,javax.security.auth.Destroyable
public class HybridValueParameterSpec extends java.lang.Object implements java.security.spec.AlgorithmParameterSpec, javax.security.auth.Destroyable
SP 800-56C Hybrid Value spec, by default to allow the secret in a key agreement to be created as "Z | T" where T is some other secret value as described in Section 2. If the value doPrepend is set to true the spec will be used to calculate "T | Z" instead.Get methods throw IllegalStateException if destroy() is called.
-
-
Constructor Summary
Constructors Constructor Description HybridValueParameterSpec(byte[] t, boolean doPrepend, java.security.spec.AlgorithmParameterSpec baseSpec)
Create a spec with T set to t and the spec for the KDF in the agreement to baseSpec.HybridValueParameterSpec(byte[] t, java.security.spec.AlgorithmParameterSpec baseSpec)
Create a spec with T set to t and the spec for the KDF in the agreement to baseSpec.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
destroy()
Destroy this parameter spec, explicitly erasing its contents.java.security.spec.AlgorithmParameterSpec
getBaseParameterSpec()
Return the base parameter spec.byte[]
getT()
Return a reference to the T value.boolean
isDestroyed()
Return true if the destroy() method is called and the contents are erased.boolean
isPrependedT()
Return whether or not T should be prepended.
-
-
-
Constructor Detail
-
HybridValueParameterSpec
public HybridValueParameterSpec(byte[] t, java.security.spec.AlgorithmParameterSpec baseSpec)
Create a spec with T set to t and the spec for the KDF in the agreement to baseSpec. Note: the t value is not copied.- Parameters:
t
- a shared secret to be concatenated with the agreement's Z value.baseSpec
- the base spec for the agreements KDF.
-
HybridValueParameterSpec
public HybridValueParameterSpec(byte[] t, boolean doPrepend, java.security.spec.AlgorithmParameterSpec baseSpec)
Create a spec with T set to t and the spec for the KDF in the agreement to baseSpec. Note: the t value is not copied.- Parameters:
t
- a shared secret to be concatenated with the agreement's Z value.baseSpec
- the base spec for the agreements KDF.
-
-
Method Detail
-
isPrependedT
public boolean isPrependedT()
Return whether or not T should be prepended.- Returns:
- true if T to be prepended, false otherwise.
-
getT
public byte[] getT()
Return a reference to the T value.- Returns:
- a reference to T.
-
getBaseParameterSpec
public java.security.spec.AlgorithmParameterSpec getBaseParameterSpec()
Return the base parameter spec.- Returns:
- base spec to be applied to the KDF.
-
isDestroyed
public boolean isDestroyed()
Return true if the destroy() method is called and the contents are erased.- Specified by:
isDestroyed
in interfacejavax.security.auth.Destroyable
- Returns:
- true if destroyed, false otherwise.
-
destroy
public void destroy()
Destroy this parameter spec, explicitly erasing its contents.- Specified by:
destroy
in interfacejavax.security.auth.Destroyable
-
-