Your IP : 3.145.80.247
<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>SSL_alert_type_string</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:root@localhost" />
</head>
<body>
<ul id="index">
<li><a href="#NAME">NAME</a></li>
<li><a href="#SYNOPSIS">SYNOPSIS</a></li>
<li><a href="#DESCRIPTION">DESCRIPTION</a></li>
<li><a href="#NOTES">NOTES</a></li>
<li><a href="#RETURN-VALUES">RETURN VALUES</a></li>
<li><a href="#SEE-ALSO">SEE ALSO</a></li>
<li><a href="#COPYRIGHT">COPYRIGHT</a></li>
</ul>
<h1 id="NAME">NAME</h1>
<p>SSL_alert_type_string, SSL_alert_type_string_long, SSL_alert_desc_string, SSL_alert_desc_string_long - get textual description of alert information</p>
<h1 id="SYNOPSIS">SYNOPSIS</h1>
<pre><code> #include <openssl/ssl.h>
const char *SSL_alert_type_string(int value);
const char *SSL_alert_type_string_long(int value);
const char *SSL_alert_desc_string(int value);
const char *SSL_alert_desc_string_long(int value);</code></pre>
<h1 id="DESCRIPTION">DESCRIPTION</h1>
<p>SSL_alert_type_string() returns a one letter string indicating the type of the alert specified by <b>value</b>.</p>
<p>SSL_alert_type_string_long() returns a string indicating the type of the alert specified by <b>value</b>.</p>
<p>SSL_alert_desc_string() returns a two letter string as a short form describing the reason of the alert specified by <b>value</b>.</p>
<p>SSL_alert_desc_string_long() returns a string describing the reason of the alert specified by <b>value</b>.</p>
<h1 id="NOTES">NOTES</h1>
<p>When one side of an SSL/TLS communication wants to inform the peer about a special situation, it sends an alert. The alert is sent as a special message and does not influence the normal data stream (unless its contents results in the communication being canceled).</p>
<p>A warning alert is sent, when a non-fatal error condition occurs. The "close notify" alert is sent as a warning alert. Other examples for non-fatal errors are certificate errors ("certificate expired", "unsupported certificate"), for which a warning alert may be sent. (The sending party may however decide to send a fatal error.) The receiving side may cancel the connection on reception of a warning alert on it discretion.</p>
<p>Several alert messages must be sent as fatal alert messages as specified by the TLS RFC. A fatal alert always leads to a connection abort.</p>
<h1 id="RETURN-VALUES">RETURN VALUES</h1>
<p>The following strings can occur for SSL_alert_type_string() or SSL_alert_type_string_long():</p>
<dl>
<dt id="W-warning">"W"/"warning"</dt>
<dd>
</dd>
<dt id="F-fatal">"F"/"fatal"</dt>
<dd>
</dd>
<dt id="U-unknown">"U"/"unknown"</dt>
<dd>
<p>This indicates that no support is available for this alert type. Probably <b>value</b> does not contain a correct alert message.</p>
</dd>
</dl>
<p>The following strings can occur for SSL_alert_desc_string() or SSL_alert_desc_string_long():</p>
<dl>
<dt id="CN-close-notify">"CN"/"close notify"</dt>
<dd>
<p>The connection shall be closed. This is a warning alert.</p>
</dd>
<dt id="UM-unexpected-message">"UM"/"unexpected message"</dt>
<dd>
<p>An inappropriate message was received. This alert is always fatal and should never be observed in communication between proper implementations.</p>
</dd>
<dt id="BM-bad-record-mac">"BM"/"bad record mac"</dt>
<dd>
<p>This alert is returned if a record is received with an incorrect MAC. This message is always fatal.</p>
</dd>
<dt id="DF-decompression-failure">"DF"/"decompression failure"</dt>
<dd>
<p>The decompression function received improper input (e.g. data that would expand to excessive length). This message is always fatal.</p>
</dd>
<dt id="HF-handshake-failure">"HF"/"handshake failure"</dt>
<dd>
<p>Reception of a handshake_failure alert message indicates that the sender was unable to negotiate an acceptable set of security parameters given the options available. This is a fatal error.</p>
</dd>
<dt id="NC-no-certificate">"NC"/"no certificate"</dt>
<dd>
<p>A client, that was asked to send a certificate, does not send a certificate (SSLv3 only).</p>
</dd>
<dt id="BC-bad-certificate">"BC"/"bad certificate"</dt>
<dd>
<p>A certificate was corrupt, contained signatures that did not verify correctly, etc</p>
</dd>
<dt id="UC-unsupported-certificate">"UC"/"unsupported certificate"</dt>
<dd>
<p>A certificate was of an unsupported type.</p>
</dd>
<dt id="CR-certificate-revoked">"CR"/"certificate revoked"</dt>
<dd>
<p>A certificate was revoked by its signer.</p>
</dd>
<dt id="CE-certificate-expired">"CE"/"certificate expired"</dt>
<dd>
<p>A certificate has expired or is not currently valid.</p>
</dd>
<dt id="CU-certificate-unknown">"CU"/"certificate unknown"</dt>
<dd>
<p>Some other (unspecified) issue arose in processing the certificate, rendering it unacceptable.</p>
</dd>
<dt id="IP-illegal-parameter">"IP"/"illegal parameter"</dt>
<dd>
<p>A field in the handshake was out of range or inconsistent with other fields. This is always fatal.</p>
</dd>
<dt id="DC-decryption-failed">"DC"/"decryption failed"</dt>
<dd>
<p>A TLSCiphertext decrypted in an invalid way: either it wasn't an even multiple of the block length or its padding values, when checked, weren't correct. This message is always fatal.</p>
</dd>
<dt id="RO-record-overflow">"RO"/"record overflow"</dt>
<dd>
<p>A TLSCiphertext record was received which had a length more than 2^14+2048 bytes, or a record decrypted to a TLSCompressed record with more than 2^14+1024 bytes. This message is always fatal.</p>
</dd>
<dt id="CA-unknown-CA">"CA"/"unknown CA"</dt>
<dd>
<p>A valid certificate chain or partial chain was received, but the certificate was not accepted because the CA certificate could not be located or couldn't be matched with a known, trusted CA. This message is always fatal.</p>
</dd>
<dt id="AD-access-denied">"AD"/"access denied"</dt>
<dd>
<p>A valid certificate was received, but when access control was applied, the sender decided not to proceed with negotiation. This message is always fatal.</p>
</dd>
<dt id="DE-decode-error">"DE"/"decode error"</dt>
<dd>
<p>A message could not be decoded because some field was out of the specified range or the length of the message was incorrect. This message is always fatal.</p>
</dd>
<dt id="CY-decrypt-error">"CY"/"decrypt error"</dt>
<dd>
<p>A handshake cryptographic operation failed, including being unable to correctly verify a signature, decrypt a key exchange, or validate a finished message.</p>
</dd>
<dt id="ER-export-restriction">"ER"/"export restriction"</dt>
<dd>
<p>A negotiation not in compliance with export restrictions was detected; for example, attempting to transfer a 1024 bit ephemeral RSA key for the RSA_EXPORT handshake method. This message is always fatal.</p>
</dd>
<dt id="PV-protocol-version">"PV"/"protocol version"</dt>
<dd>
<p>The protocol version the client has attempted to negotiate is recognized, but not supported. (For example, old protocol versions might be avoided for security reasons). This message is always fatal.</p>
</dd>
<dt id="IS-insufficient-security">"IS"/"insufficient security"</dt>
<dd>
<p>Returned instead of handshake_failure when a negotiation has failed specifically because the server requires ciphers more secure than those supported by the client. This message is always fatal.</p>
</dd>
<dt id="IE-internal-error">"IE"/"internal error"</dt>
<dd>
<p>An internal error unrelated to the peer or the correctness of the protocol makes it impossible to continue (such as a memory allocation failure). This message is always fatal.</p>
</dd>
<dt id="US-user-canceled">"US"/"user canceled"</dt>
<dd>
<p>This handshake is being canceled for some reason unrelated to a protocol failure. If the user cancels an operation after the handshake is complete, just closing the connection by sending a close_notify is more appropriate. This alert should be followed by a close_notify. This message is generally a warning.</p>
</dd>
<dt id="NR-no-renegotiation">"NR"/"no renegotiation"</dt>
<dd>
<p>Sent by the client in response to a hello request or by the server in response to a client hello after initial handshaking. Either of these would normally lead to renegotiation; when that is not appropriate, the recipient should respond with this alert; at that point, the original requester can decide whether to proceed with the connection. One case where this would be appropriate would be where a server has spawned a process to satisfy a request; the process might receive security parameters (key length, authentication, etc.) at startup and it might be difficult to communicate changes to these parameters after that point. This message is always a warning.</p>
</dd>
<dt id="UP-unknown-PSK-identity">"UP"/"unknown PSK identity"</dt>
<dd>
<p>Sent by the server to indicate that it does not recognize a PSK identity or an SRP identity.</p>
</dd>
<dt id="UK-unknown">"UK"/"unknown"</dt>
<dd>
<p>This indicates that no description is available for this alert type. Probably <b>value</b> does not contain a correct alert message.</p>
</dd>
</dl>
<h1 id="SEE-ALSO">SEE ALSO</h1>
<p><a href="../man7/ssl.html">ssl(7)</a>, <a href="../man3/SSL_CTX_set_info_callback.html">SSL_CTX_set_info_callback(3)</a></p>
<h1 id="COPYRIGHT">COPYRIGHT</h1>
<p>Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.</p>
<p>Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <a href="https://www.openssl.org/source/license.html">https://www.openssl.org/source/license.html</a>.</p>
</body>
</html>