Package org.conscrypt

Class AlertProtocol

java.lang.Object
org.conscrypt.AlertProtocol

public class AlertProtocol
extends Object
This class encapsulates the functionality of Alert Protocol. Constant values are taken according to the TLS v1 specification (http://www.ietf.org/rfc/rfc2246.txt), p 7.2.
  • Field Summary

    Fields
    Modifier and Type Field Description
    protected static byte ACCESS_DENIED
    Defines the description code of the access_denied alert
    protected static byte BAD_CERTIFICATE
    Defines the description code of the bad_certificate alert
    protected static byte BAD_RECORD_MAC
    Defines the description code of the bad_record_mac alert
    protected static byte CERTIFICATE_EXPIRED
    Defines the description code of the certificate_expired alert
    protected static byte CERTIFICATE_REVOKED
    Defines the description code of the certificate_revoked alert
    protected static byte CERTIFICATE_UNKNOWN
    Defines the description code of the certificate_unknown alert
    protected static byte CLOSE_NOTIFY
    Defines the description code of the close_notify alert
    protected static byte DECODE_ERROR
    Defines the description code of the decode_error alert
    protected static byte DECOMPRESSION_FAILURE
    Defines the description code of the decompression_failure alert
    protected static byte DECRYPT_ERROR
    Defines the description code of the decrypt_error alert
    protected static byte DECRYPTION_FAILED
    Defines the description code of the decryption_failed alert
    protected static byte EXPORT_RESTRICTION
    Defines the description code of the export_restriction alert
    protected static byte FATAL
    Defines the severity of alert as fatal
    protected static byte HANDSHAKE_FAILURE
    Defines the description code of the handshake_failure alert
    protected static byte ILLEGAL_PARAMETER
    Defines the description code of the illegal_parameter alert
    protected static byte INSUFFICIENT_SECURITY
    Defines the description code of the insufficient_security alert
    protected static byte INTERNAL_ERROR
    Defines the description code of the internal_error alert
    protected static byte NO_RENEGOTIATION
    Defines the description code of the no_renegotiation alert
    protected static byte PROTOCOL_VERSION
    Defines the description code of the protocol_version alert
    protected static byte RECORD_OVERFLOW
    Defines the description code of the record_overflow alert
    protected static byte UNEXPECTED_MESSAGE
    Defines the description code of the unexpected_message alert
    protected static byte UNKNOWN_CA
    Defines the description code of the unknown_ca alert
    protected static byte UNSUPPORTED_CERTIFICATE
    Defines the description code of the unsupported_certificate alert
    protected static byte USER_CANCELED
    Defines the description code of the user_canceled alert
    protected static byte WARNING
    Defines the severity of alert as warning
  • Constructor Summary

    Constructors
    Modifier Constructor Description
    protected AlertProtocol()
    Creates the instance of AlertProtocol.
  • Method Summary

    Modifier and Type Method Description
    protected void alert​(byte level, byte description)
    Reports an alert to be sent/received by transport.
    protected String getAlertDescription()
    Returns the string representation of occured alert.
    protected byte getDescriptionCode()
    Returns the description code of alert or -100 if there is no alert.
    protected boolean hasAlert()
    Checks if any alert has occured.
    protected boolean isFatalAlert()
    Checks if occured alert is fatal alert.
    protected void setProcessed()
    Resets the protocol to be in "no alert" state.
    protected void setRecordProtocol​(SSLRecordProtocol recordProtocol)
    Sets up the record protocol to be used by this allert protocol.
    protected void shutdown()
    Shutdown the protocol.
    protected byte[] wrap()
    Returns the record with reported alert message.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • WARNING

      protected static final byte WARNING
      Defines the severity of alert as warning
      See Also:
      Constant Field Values
    • FATAL

      protected static final byte FATAL
      Defines the severity of alert as fatal
      See Also:
      Constant Field Values
    • CLOSE_NOTIFY

      protected static final byte CLOSE_NOTIFY
      Defines the description code of the close_notify alert
      See Also:
      Constant Field Values
    • UNEXPECTED_MESSAGE

      protected static final byte UNEXPECTED_MESSAGE
      Defines the description code of the unexpected_message alert
      See Also:
      Constant Field Values
    • BAD_RECORD_MAC

      protected static final byte BAD_RECORD_MAC
      Defines the description code of the bad_record_mac alert
      See Also:
      Constant Field Values
    • DECRYPTION_FAILED

      protected static final byte DECRYPTION_FAILED
      Defines the description code of the decryption_failed alert
      See Also:
      Constant Field Values
    • RECORD_OVERFLOW

      protected static final byte RECORD_OVERFLOW
      Defines the description code of the record_overflow alert
      See Also:
      Constant Field Values
    • DECOMPRESSION_FAILURE

      protected static final byte DECOMPRESSION_FAILURE
      Defines the description code of the decompression_failure alert
      See Also:
      Constant Field Values
    • HANDSHAKE_FAILURE

      protected static final byte HANDSHAKE_FAILURE
      Defines the description code of the handshake_failure alert
      See Also:
      Constant Field Values
    • BAD_CERTIFICATE

      protected static final byte BAD_CERTIFICATE
      Defines the description code of the bad_certificate alert
      See Also:
      Constant Field Values
    • UNSUPPORTED_CERTIFICATE

      protected static final byte UNSUPPORTED_CERTIFICATE
      Defines the description code of the unsupported_certificate alert
      See Also:
      Constant Field Values
    • CERTIFICATE_REVOKED

      protected static final byte CERTIFICATE_REVOKED
      Defines the description code of the certificate_revoked alert
      See Also:
      Constant Field Values
    • CERTIFICATE_EXPIRED

      protected static final byte CERTIFICATE_EXPIRED
      Defines the description code of the certificate_expired alert
      See Also:
      Constant Field Values
    • CERTIFICATE_UNKNOWN

      protected static final byte CERTIFICATE_UNKNOWN
      Defines the description code of the certificate_unknown alert
      See Also:
      Constant Field Values
    • ILLEGAL_PARAMETER

      protected static final byte ILLEGAL_PARAMETER
      Defines the description code of the illegal_parameter alert
      See Also:
      Constant Field Values
    • UNKNOWN_CA

      protected static final byte UNKNOWN_CA
      Defines the description code of the unknown_ca alert
      See Also:
      Constant Field Values
    • ACCESS_DENIED

      protected static final byte ACCESS_DENIED
      Defines the description code of the access_denied alert
      See Also:
      Constant Field Values
    • DECODE_ERROR

      protected static final byte DECODE_ERROR
      Defines the description code of the decode_error alert
      See Also:
      Constant Field Values
    • DECRYPT_ERROR

      protected static final byte DECRYPT_ERROR
      Defines the description code of the decrypt_error alert
      See Also:
      Constant Field Values
    • EXPORT_RESTRICTION

      protected static final byte EXPORT_RESTRICTION
      Defines the description code of the export_restriction alert
      See Also:
      Constant Field Values
    • PROTOCOL_VERSION

      protected static final byte PROTOCOL_VERSION
      Defines the description code of the protocol_version alert
      See Also:
      Constant Field Values
    • INSUFFICIENT_SECURITY

      protected static final byte INSUFFICIENT_SECURITY
      Defines the description code of the insufficient_security alert
      See Also:
      Constant Field Values
    • INTERNAL_ERROR

      protected static final byte INTERNAL_ERROR
      Defines the description code of the internal_error alert
      See Also:
      Constant Field Values
    • USER_CANCELED

      protected static final byte USER_CANCELED
      Defines the description code of the user_canceled alert
      See Also:
      Constant Field Values
    • NO_RENEGOTIATION

      protected static final byte NO_RENEGOTIATION
      Defines the description code of the no_renegotiation alert
      See Also:
      Constant Field Values
  • Constructor Details

  • Method Details

    • setRecordProtocol

      protected void setRecordProtocol​(SSLRecordProtocol recordProtocol)
      Sets up the record protocol to be used by this allert protocol.
    • alert

      protected void alert​(byte level, byte description)
      Reports an alert to be sent/received by transport. This method is usually called during processing of the income TSL record: if it contains alert message from another peer, or if warning alert occured during the processing of the message and this warning should be sent to another peer.
      Parameters:
      level - alert level code
      description - alert description code
    • getDescriptionCode

      protected byte getDescriptionCode()
      Returns the description code of alert or -100 if there is no alert.
    • setProcessed

      protected void setProcessed()
      Resets the protocol to be in "no alert" state. This method shoud be called after processing of the reported alert.
    • hasAlert

      protected boolean hasAlert()
      Checks if any alert has occured.
    • isFatalAlert

      protected boolean isFatalAlert()
      Checks if occured alert is fatal alert.
    • getAlertDescription

      protected String getAlertDescription()
      Returns the string representation of occured alert. If no alert has occured null is returned.
    • wrap

      protected byte[] wrap()
      Returns the record with reported alert message. The returned array of bytes is ready to be sent to another peer. Note, that this method does not automatically set the state of alert protocol in "no alert" state, so after wrapping the method setProcessed should be called.
    • shutdown

      protected void shutdown()
      Shutdown the protocol. It will be impossible to use the instance after the calling of this method.