All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bouncycastle.crypto.internal.params.HKDFParameters Maven / Gradle / Ivy

Go to download

The FIPS 140-2 Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms certified to FIPS 140-2 level 1. This jar contains the debug version JCE provider and low-level API for the BC-FJA version 1.0.2.3, FIPS Certificate #3514. Please note the debug jar is not certified.

There is a newer version: 2.0.0
Show newest version
package org.bouncycastle.crypto.internal.params;

import org.bouncycastle.crypto.internal.DerivationParameters;
import org.bouncycastle.util.Arrays;

/**
 * Parameter class for the HKDFBytesGenerator class.
 */
public class HKDFParameters
    implements DerivationParameters
{
    private final KeyParameter hkdfKey;
    private final byte[] info;

    public HKDFParameters(KeyParameter hkdfKey, final byte[] info)
    {
        if (hkdfKey == null)
        {
            throw new IllegalArgumentException(
                "hkdfKey (input keying material) should not be null");
        }

        this.hkdfKey = hkdfKey;

        if (info == null)
        {
            this.info = new byte[0];
        }
        else
        {
            this.info = Arrays.clone(info);
        }
    }

    /**
     * Returns the input keying material or seed.
     *
     * @return the keying material
     */
    public KeyParameter getKey()
    {
        return hkdfKey;
    }

    /**
     * Returns the info field, which may be empty (null is converted to empty).
     *
     * @return the info field, never null
     */
    public byte[] getInfo()
    {
        return Arrays.clone(info);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy