Java 类org.bouncycastle.crypto.digests.LongDigest 实例源码

项目:ipack    文件:TlsMac.java   
/**
 * Generate a new instance of an TlsMac.
 *
 * @param context the TLS client context
 * @param digest  The digest to use.
 * @param key     A byte-array where the key for this mac is located.
 * @param keyOff  The number of bytes to skip, before the key starts in the buffer.
 * @param len     The length of the key.
 */
public TlsMac(TlsContext context, Digest digest, byte[] key, int keyOff, int keyLen)
{
    this.context = context;

    KeyParameter keyParameter = new KeyParameter(key, keyOff, keyLen);

    this.secret = Arrays.clone(keyParameter.getKey());

    // TODO This should check the actual algorithm, not rely on the engine type
    if (digest instanceof LongDigest)
    {
        this.digestBlockSize = 128;
        this.digestOverhead = 16;
    }
    else
    {
        this.digestBlockSize = 64;
        this.digestOverhead = 8;
    }

    if (context.getServerVersion().isSSL())
    {
        this.mac = new SSL3Mac(digest);

        // TODO This should check the actual algorithm, not assume based on the digest size
        if (digest.getDigestSize() == 20)
        {
            /*
             * NOTE: When SHA-1 is used with the SSL 3.0 MAC, the secret + input pad is not
             * digest block-aligned.
             */
            this.digestOverhead = 4;
        }
    }
    else
    {
        this.mac = new HMac(digest);

        // NOTE: The input pad for HMAC is always a full digest block
    }

    this.mac.init(keyParameter);
}
项目:gwt-crypto    文件:TlsMac.java   
/**
 * Generate a new instance of an TlsMac.
 *
 * @param context the TLS client context
 * @param digest  The digest to use.
 * @param key     A byte-array where the key for this MAC is located.
 * @param keyOff  The number of bytes to skip, before the key starts in the buffer.
 * @param keyLen  The length of the key.
 */
public TlsMac(TlsContext context, Digest digest, byte[] key, int keyOff, int keyLen)
{
    this.context = context;

    KeyParameter keyParameter = new KeyParameter(key, keyOff, keyLen);

    this.secret = Arrays.clone(keyParameter.getKey());

    // TODO This should check the actual algorithm, not rely on the engine type
    if (digest instanceof LongDigest)
    {
        this.digestBlockSize = 128;
        this.digestOverhead = 16;
    }
    else
    {
        this.digestBlockSize = 64;
        this.digestOverhead = 8;
    }

    if (TlsUtils.isSSL(context))
    {
        this.mac = new SSL3Mac(digest);

        // TODO This should check the actual algorithm, not assume based on the digest size
        if (digest.getDigestSize() == 20)
        {
            /*
             * NOTE: When SHA-1 is used with the SSL 3.0 MAC, the secret + input pad is not
             * digest block-aligned.
             */
            this.digestOverhead = 4;
        }
    }
    else
    {
        this.mac = new HMac(digest);

        // NOTE: The input pad for HMAC is always a full digest block
    }

    this.mac.init(keyParameter);

    this.macLength = mac.getMacSize();
    if (context.getSecurityParameters().truncatedHMac)
    {
        this.macLength = Math.min(this.macLength, 10);
    }
}
项目:Aki-SSL    文件:TlsMac.java   
/**
 * Generate a new instance of an TlsMac.
 *
 * @param context the TLS client context
 * @param digest  The digest to use.
 * @param key     A byte-array where the key for this MAC is located.
 * @param keyOff  The number of bytes to skip, before the key starts in the buffer.
 * @param keyLen  The length of the key.
 */
public TlsMac(TlsContext context, Digest digest, byte[] key, int keyOff, int keyLen)
{
    this.context = context;

    KeyParameter keyParameter = new KeyParameter(key, keyOff, keyLen);

    this.secret = Arrays.clone(keyParameter.getKey());

    // TODO This should check the actual algorithm, not rely on the engine type
    if (digest instanceof LongDigest)
    {
        this.digestBlockSize = 128;
        this.digestOverhead = 16;
    }
    else
    {
        this.digestBlockSize = 64;
        this.digestOverhead = 8;
    }

    if (TlsUtils.isSSL(context))
    {
        this.mac = new SSL3Mac(digest);

        // TODO This should check the actual algorithm, not assume based on the digest size
        if (digest.getDigestSize() == 20)
        {
            /*
             * NOTE: When SHA-1 is used with the SSL 3.0 MAC, the secret + input pad is not
             * digest block-aligned.
             */
            this.digestOverhead = 4;
        }
    }
    else
    {
        this.mac = new HMac(digest);

        // NOTE: The input pad for HMAC is always a full digest block
    }

    this.mac.init(keyParameter);

    this.macLength = mac.getMacSize();
    if (context.getSecurityParameters().truncatedHMac)
    {
        this.macLength = Math.min(this.macLength, 10);
    }
}
项目:TinyTravelTracker    文件:TlsMac.java   
/**
 * Generate a new instance of an TlsMac.
 *
 * @param context the TLS client context
 * @param digest  The digest to use.
 * @param key     A byte-array where the key for this MAC is located.
 * @param keyOff  The number of bytes to skip, before the key starts in the buffer.
 * @param keyLen  The length of the key.
 */
public TlsMac(TlsContext context, Digest digest, byte[] key, int keyOff, int keyLen)
{
    this.context = context;

    KeyParameter keyParameter = new KeyParameter(key, keyOff, keyLen);

    this.secret = Arrays.clone(keyParameter.getKey());

    // TODO This should check the actual algorithm, not rely on the engine type
    if (digest instanceof LongDigest)
    {
        this.digestBlockSize = 128;
        this.digestOverhead = 16;
    }
    else
    {
        this.digestBlockSize = 64;
        this.digestOverhead = 8;
    }

    if (TlsUtils.isSSL(context))
    {
        this.mac = new SSL3Mac(digest);

        // TODO This should check the actual algorithm, not assume based on the digest size
        if (digest.getDigestSize() == 20)
        {
            /*
             * NOTE: When SHA-1 is used with the SSL 3.0 MAC, the secret + input pad is not
             * digest block-aligned.
             */
            this.digestOverhead = 4;
        }
    }
    else
    {
        this.mac = new HMac(digest);

        // NOTE: The input pad for HMAC is always a full digest block
    }

    this.mac.init(keyParameter);

    this.macLength = mac.getMacSize();
    if (context.getSecurityParameters().truncatedHMac)
    {
        this.macLength = Math.min(this.macLength, 10);
    }
}
项目:CryptMeme    文件:TlsMac.java   
/**
 * Generate a new instance of an TlsMac.
 *
 * @param context the TLS client context
 * @param digest  The digest to use.
 * @param key     A byte-array where the key for this MAC is located.
 * @param keyOff  The number of bytes to skip, before the key starts in the buffer.
 * @param len     The length of the key.
 */
public TlsMac(TlsContext context, Digest digest, byte[] key, int keyOff, int keyLen)
{
    this.context = context;

    KeyParameter keyParameter = new KeyParameter(key, keyOff, keyLen);

    this.secret = Arrays.clone(keyParameter.getKey());

    // TODO This should check the actual algorithm, not rely on the engine type
    if (digest instanceof LongDigest)
    {
        this.digestBlockSize = 128;
        this.digestOverhead = 16;
    }
    else
    {
        this.digestBlockSize = 64;
        this.digestOverhead = 8;
    }

    if (TlsUtils.isSSL(context))
    {
        this.mac = new SSL3Mac(digest);

        // TODO This should check the actual algorithm, not assume based on the digest size
        if (digest.getDigestSize() == 20)
        {
            /*
             * NOTE: When SHA-1 is used with the SSL 3.0 MAC, the secret + input pad is not
             * digest block-aligned.
             */
            this.digestOverhead = 4;
        }
    }
    else
    {
        this.mac = new HMac(digest);

        // NOTE: The input pad for HMAC is always a full digest block
    }

    this.mac.init(keyParameter);

    this.macLength = mac.getMacSize();
    if (context.getSecurityParameters().truncatedHMac)
    {
        this.macLength = Math.min(this.macLength, 10);
    }
}
项目:irma_future_id    文件:TlsMac.java   
/**
 * Generate a new instance of an TlsMac.
 *
 * @param context the TLS client context
 * @param digest  The digest to use.
 * @param key     A byte-array where the key for this MAC is located.
 * @param keyOff  The number of bytes to skip, before the key starts in the buffer.
 * @param len     The length of the key.
 */
public TlsMac(TlsContext context, Digest digest, byte[] key, int keyOff, int keyLen)
{
    this.context = context;

    KeyParameter keyParameter = new KeyParameter(key, keyOff, keyLen);

    this.secret = Arrays.clone(keyParameter.getKey());

    // TODO This should check the actual algorithm, not rely on the engine type
    if (digest instanceof LongDigest)
    {
        this.digestBlockSize = 128;
        this.digestOverhead = 16;
    }
    else
    {
        this.digestBlockSize = 64;
        this.digestOverhead = 8;
    }

    if (TlsUtils.isSSL(context))
    {
        this.mac = new SSL3Mac(digest);

        // TODO This should check the actual algorithm, not assume based on the digest size
        if (digest.getDigestSize() == 20)
        {
            /*
             * NOTE: When SHA-1 is used with the SSL 3.0 MAC, the secret + input pad is not
             * digest block-aligned.
             */
            this.digestOverhead = 4;
        }
    }
    else
    {
        this.mac = new HMac(digest);

        // NOTE: The input pad for HMAC is always a full digest block
    }

    this.mac.init(keyParameter);

    this.macLength = mac.getMacSize();
    if (context.getSecurityParameters().truncatedHMac)
    {
        this.macLength = Math.min(this.macLength, 10);
    }
}
项目:bc-java    文件:TlsMac.java   
/**
 * Generate a new instance of an TlsMac.
 *
 * @param context the TLS client context
 * @param digest  The digest to use.
 * @param key     A byte-array where the key for this MAC is located.
 * @param keyOff  The number of bytes to skip, before the key starts in the buffer.
 * @param len     The length of the key.
 */
public TlsMac(TlsContext context, Digest digest, byte[] key, int keyOff, int keyLen)
{
    this.context = context;

    KeyParameter keyParameter = new KeyParameter(key, keyOff, keyLen);

    this.secret = Arrays.clone(keyParameter.getKey());

    // TODO This should check the actual algorithm, not rely on the engine type
    if (digest instanceof LongDigest)
    {
        this.digestBlockSize = 128;
        this.digestOverhead = 16;
    }
    else
    {
        this.digestBlockSize = 64;
        this.digestOverhead = 8;
    }

    if (TlsUtils.isSSL(context))
    {
        this.mac = new SSL3Mac(digest);

        // TODO This should check the actual algorithm, not assume based on the digest size
        if (digest.getDigestSize() == 20)
        {
            /*
             * NOTE: When SHA-1 is used with the SSL 3.0 MAC, the secret + input pad is not
             * digest block-aligned.
             */
            this.digestOverhead = 4;
        }
    }
    else
    {
        this.mac = new HMac(digest);

        // NOTE: The input pad for HMAC is always a full digest block
    }

    this.mac.init(keyParameter);

    this.macLength = mac.getMacSize();
    if (context.getSecurityParameters().truncatedHMac)
    {
        this.macLength = Math.min(this.macLength, 10);
    }
}