org.bouncycastle.tls.UseSRTPData Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bctls-jdk14 Show documentation
Show all versions of bctls-jdk14 Show documentation
The Bouncy Castle Java APIs for TLS and DTLS.
package org.bouncycastle.tls;
/**
* RFC 5764 4.1.1
*/
public class UseSRTPData
{
protected int[] protectionProfiles;
protected byte[] mki;
/**
* @param protectionProfiles see {@link SRTPProtectionProfile} for valid constants.
* @param mki valid lengths from 0 to 255.
*/
public UseSRTPData(int[] protectionProfiles, byte[] mki)
{
if (TlsUtils.isNullOrEmpty(protectionProfiles) || protectionProfiles.length >= (1 << 15))
{
throw new IllegalArgumentException("'protectionProfiles' must have length from 1 to (2^15 - 1)");
}
if (mki == null)
{
mki = TlsUtils.EMPTY_BYTES;
}
else if (mki.length > 255)
{
throw new IllegalArgumentException("'mki' cannot be longer than 255 bytes");
}
this.protectionProfiles = protectionProfiles;
this.mki = mki;
}
/**
* @return see {@link SRTPProtectionProfile} for valid constants.
*/
public int[] getProtectionProfiles()
{
return protectionProfiles;
}
/**
* @return valid lengths from 0 to 255.
*/
public byte[] getMki()
{
return mki;
}
}