/**
* TLS-Attacker - A Modular Penetration Testing Framework for TLS
*
* Copyright 2014-2016 Ruhr University Bochum / Hackmanit GmbH
*
* Licensed under Apache License 2.0
* http://www.apache.org/licenses/LICENSE-2.0
*/
package de.rub.nds.tlsattacker.modifiablevariable;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Annotation interface for modifiable variables.
*
* @author Juraj Somorovsky - juraj.somorovsky@rub.de
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ModifiableVariableProperty {
public enum Type {
LENGTH,
COUNT,
PADDING,
/** variable presenting one or more (array of) TLS constants */
TLS_CONSTANT,
SIGNATURE,
CIPHERTEXT,
HMAC,
PUBLIC_KEY,
PRIVATE_KEY,
KEY_MATERIAL,
CERTIFICATE,
/** plain protocol message, always in a decrypted state */
PLAIN_PROTOCOL_MESSAGE,
COOKIE,
NONE
}
public enum Format {
ASN1,
PKCS1,
NONE
}
Type type() default Type.NONE;
Format format() default Format.NONE;
}