/** * 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.tls.constants; import java.util.HashMap; import java.util.Map; /** * TLS Alerts * * @author Juraj Somorovsky <juraj.somorovsky@rub.de> */ public enum AlertDescription { CLOSE_NOTIFY((byte) 0), UNEXPECTED_MESSAGE((byte) 10), BAD_RECORD_MAC((byte) 20), DECRYPTION_FAILED_RESERVED((byte) 21), RECORD_OVERFLOW((byte) 22), DECOMPRESSION_FAILURE((byte) 30), HANDSHAKE_FAILURE((byte) 40), NO_CERTIFICATE_RESERVED((byte) 41), BAD_CERTIFICATE((byte) 42), UNSUPPORTED_CERTIFICATE((byte) 43), CERTIFICATE_REVOKED((byte) 44), CERTIFICATE_EXPIRED((byte) 45), CERTIFICATE_UNKNOWN((byte) 46), ILLEGAL_PARAMETER((byte) 47), UNKNOWN_CA((byte) 48), ACCESS_DENIED((byte) 49), DECODE_ERROR((byte) 50), DECRYPT_ERROR((byte) 51), EXPORT_RESTRICTION_RESERVED((byte) 60), PROTOCOL_VERSION((byte) 70), INSUFFICIENT_SECURITY((byte) 71), INTERNAL_ERROR((byte) 80), USER_CANCELED((byte) 90), NO_RENEGOTIATION((byte) 100), UNSUPPORTED_EXTENSION((byte) 110), CERTIFICATE_UNOBTAINABLE((byte) 111), UNRECOGNIZED_NAME((byte) 112), BAD_CERTIFICATE_STATUS_RESPONSE((byte) 113), BAD_CERTIFICATE_HASH_VALUE((byte) 114); private byte value; private static final Map<Byte, AlertDescription> MAP; private AlertDescription(byte value) { this.value = value; } static { MAP = new HashMap<>(); for (AlertDescription cm : AlertDescription.values()) { MAP.put(cm.value, cm); } } public static AlertDescription getAlertDescription(byte value) { return MAP.get(value); } public byte getValue() { return value; } public byte[] getArrayValue() { return new byte[] { value }; } }