本文整理汇总了Java中org.bouncycastle.crypto.digests.LongDigest类的典型用法代码示例。如果您正苦于以下问题:Java LongDigest类的具体用法?Java LongDigest怎么用?Java LongDigest使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
LongDigest类属于org.bouncycastle.crypto.digests包,在下文中一共展示了LongDigest类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: TlsMac
import org.bouncycastle.crypto.digests.LongDigest; //导入依赖的package包/类
/**
* 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);
}
示例2: TlsMac
import org.bouncycastle.crypto.digests.LongDigest; //导入依赖的package包/类
/**
* 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);
}
}
示例3: TlsMac
import org.bouncycastle.crypto.digests.LongDigest; //导入依赖的package包/类
/**
* 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);
}
}