org.jboss.resteasy.jose.jwe.crypto.AuthenticatedCipherText Maven / Gradle / Ivy
package org.jboss.resteasy.jose.jwe.crypto;
import org.jboss.resteasy.jose.i18n.Messages;
import net.jcip.annotations.Immutable;
/**
* Authenticated cipher text. This class is immutable.
*
* @author Vladimir Dzhuvinov
* @Version $version$ (2013-05-06)
*/
@Immutable
final class AuthenticatedCipherText
{
/**
* The cipher text.
*/
private final byte[] cipherText;
/**
* The authentication tag.
*/
private final byte[] authenticationTag;
/**
* Creates a new authenticated cipher text.
*
* @param cipherText The cipher text. Must not be {@code null}.
* @param authenticationTag The authentication tag. Must not be
* {@code null}.
*/
AuthenticatedCipherText(final byte[] cipherText, final byte[] authenticationTag) {
if (cipherText == null)
throw new IllegalArgumentException(Messages.MESSAGES.cipherTextMustNotBeNull());
this.cipherText = cipherText;
if (authenticationTag == null)
throw new IllegalArgumentException(Messages.MESSAGES.authenticationTagMustNotBeNull());
this.authenticationTag = authenticationTag;
}
/**
* Gets the cipher text.
*
* @return The cipher text.
*/
public byte[] getCipherText() {
return cipherText;
}
/**
* Gets the authentication tag.
*
* @return The authentication tag.
*/
public byte[] getAuthenticationTag() {
return authenticationTag;
}
}