Total Pageviews

Saturday 13 December 2014

Techee information about security socket layer and it's working principle.......

News regarding the Secure socket layer...how it works



SSL (Secure Sockets Layer) is the standard security technology for establishing an encrypted link between a web server and a browser. This link ensures that all data passed between the web server and browsers remain private and integral. SSL is an industry standard and is used by millions of websites in the protection of their online transactions with their customers.

To be able to create an SSL connection a web server requires an SSL Certificate. When you choose to activate SSL on your web server you will be prompted to complete a number of questions about the identity of your website and your company. Your web server then creates two cryptographic keys - a Private Key and a Public Key.

The Public Key does not need to be secret and is placed into a Certificate Signing Request (CSR) - a data file also containing your details. You should then submit the CSR. During the SSL Certificate application process, the Certification Authority will validate your details and issue an SSL Certificate containing your details and allowing you to use SSL. Your web server will match your issued SSL Certificate to your Private Key. Your web server will then be able to establish an encrypted link between the website and your customer's web browser.

The complexities of the SSL protocol remain invisible to your customers. Instead their browsers provide them with a key indicator to let them know they are currently protected by an SSL encrypted session - the lock icon in the lower right-hand corner, clicking on the lock icon displays your SSL Certificate and the details about it. All SSL Certificates are issued to either companies or legally accountable individuals.

Typically an SSL Certificate will contain your domain name, your company name, your address, your city, your state and your country. It will also contain the expiration date of the Certificate and details of the Certification Authority responsible for the issuance of the Certificate. When a browser connects to a secure site it will retrieve the site's SSL Certificate and check that it has not expired, it has been issued by a Certification Authority the browser trusts, and that it is being used by the website for which it has been issued. If it fails on any one of these checks the browser will display a warning to the end user letting them know that the site is not secured by SSL.

SSL (pronounced as separate letters) is short for Secure SocketsLayer, a protocol developed by Netscape for transmitting private documents via the Internet. SSL uses a cryptographic system that uses two keys to encrypt data − a public key known to everyone and a private or secret key known only to the recipient of the message. Both Netscape Navigator and Internet Explorer support SSL, and many Web sites use the protocol to obtain confidential user information, such as credit card numbers. By convention, URLs that require an SSL connection start with https: instead of http:.

Another protocol for transmitting data securely over the World Wide Web is Secure HTTP (S-HTTP). Whereas SSL creates a secure connection between a client and a server, over which any amount of data can be sent securely, S-HTTP is designed to transmit individual messages securely. SSL and S-HTTP, therefore, can be seen as complementary rather than competing technologies. Both protocols have been approved by the Internet Engineering Task Force (IETF) as a standard

General Web Users with SSL Certificate Problems

Digital certificates provide security to websites by encrypting sensitive data and verfying the identity of the websites that are secured.

We provide these certificates as a service to website owners to ensure the security of online communications.

SSL problem messages and warnings are often displayed in an attempt to protect website users from potentially compromising situations. However, an SSL error message may also indicate a problem that is entirely innocuous in nature. In this second case, there is often an issue either with the website you are connecting to or even possibly a misconfiguration on your own end.

If you ever encounter an SSL related warning (such as a security certificate mismatchcertificate not trusted, or secure and non-secure items, see below), you may want to hold off on entering your login details or credit card information until you can make sure you are not in a compromising online situation.

Protect Against Fraudulent Certificates

Learn to Protect Against SSL Fraud

To resolve a problem that you may be having, the first thing that you want to check is that your computer's time and date are accurate. Because expired or not-yet-valid security certificates throw up warnings, having the date on your machine wrong could potentially cause security errors on many secure sites that you access.

Additionally, if you have recently enabled new secure settings in a website, try disabling those settings and seeing if the warning messages go away. While this is not fix, it can give you a point to work from when communicating with the website owner to help them know how to fix the problems.

One of the best things you can do if you encounter an error is to find a third-party source for a phone number of the organization whose website you are on and try calling the organization to let them know about the issue, or to try to handle whatever business you needed to handle with them over the phone. If they are having a problem on their end, they should be able to fix it so other users are not inconvenienced.

If you are having a problem with the website of a large corporation that may be difficult to reach by telephone, make sure to exercise discretion and never enter personal information in a website that throws an SSL error message.

Website Administrators & Fixing an SSL Problem

We offer a variety of tools for website administrators to investigate and troubleshoot potential SSL problems.




Guide to SSL Problem Fixing for Users and Administrators

If you are a DigiCert customer and encounter any SSL problem that you cannot resolve using the instructions on this page, feel free to give us a call today for live support!






T he types of ssl errors

SSL Error Codes

ConstantValueDescription
SEC_ERROR_IO
-8192An I/O error occurred during authentication; or
an error occurred during crypto operation (other than signature verification).
SEC_ERROR_LIBRARY_FAILURE
-8191Security library failure.
SEC_ERROR_BAD_DATA
-8190Security library: received bad data.
SEC_ERROR_OUTPUT_LEN
-8189Security library: output length error.
SEC_ERROR_INPUT_LEN
-8188Security library: input length error.
SEC_ERROR_INVALID_ARGS
-8187Security library: invalid arguments.
SEC_ERROR_INVALID_ALGORITHM
-8186Security library: invalid algorithm.
SEC_ERROR_INVALID_AVA
-8185Security library: invalid AVA.
SEC_ERROR_INVALID_TIME
-8184Security library: invalid time.
SEC_ERROR_BAD_DER
-8183Security library: improperly formatted DER-encoded message.
SEC_ERROR_BAD_SIGNATURE
-8182Peer's certificate has an invalid signature.
SEC_ERROR_EXPIRED_CERTIFICATE
-8181Peer's certificate has expired.
SEC_ERROR_REVOKED_CERTIFICATE
-8180Peer's certificate has been revoked.
SEC_ERROR_UNKNOWN_ISSUER
-8179Peer's certificate issuer is not recognized.
SEC_ERROR_BAD_KEY
-8178Peer's public key is invalid
SEC_ERROR_BAD_PASSWORD
-8177The password entered is incorrect.
SEC_ERROR_RETRY_PASSWORD
-8176New password entered incorrectly.
SEC_ERROR_NO_NODELOCK
-8175Security library: no nodelock.
SEC_ERROR_BAD_DATABASE
-8174Security library: bad database.
SEC_ERROR_NO_MEMORY
-8173Security library: memory allocation failure.
SEC_ERROR_UNTRUSTED_ISSUER
-8172Peer's certificate issuer has been marked as not trusted by the user.
SEC_ERROR_UNTRUSTED_CERT
-8171Peer's certificate has been marked as not trusted by the user.
SEC_ERROR_DUPLICATE_CERT
-8170Certificate already exists in your database.
SEC_ERROR_DUPLICATE_CERT_NAME
-8169Downloaded certificate's name duplicates one already in your database.
SEC_ERROR_ADDING_CERT
-8168Error adding certificate to database.
SEC_ERROR_FILING_KEY
-8167Error refiling the key for this certificate.
SEC_ERROR_NO_KEY
-8166The private key for this certificate cannot be found in key database.
SEC_ERROR_CERT_VALID
-8165This certificate is valid.
SEC_ERROR_CERT_NOT_VALID
-8164This certificate is not valid.
SEC_ERROR_CERT_NO_RESPONSE
-8163Certificate library: no response.
SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE
-8162The certificate issuer's certificate has expired.
SEC_ERROR_CRL_EXPIRED
-8161The CRL for the certificate's issuer has expired.
SEC_ERROR_CRL_BAD_SIGNATURE
-8160The CRL for the certificate's issuer has an invalid signature.
SEC_ERROR_CRL_INVALID
-8159New CRL has an invalid format.
SEC_ERROR_EXTENSION_VALUE_INVALID
-8158Certificate extension value is invalid.
SEC_ERROR_EXTENSION_NOT_FOUND
-8157Certificate extension not found.
SEC_ERROR_CA_CERT_INVALID
-8156Issuer certificate is invalid.
SEC_ERROR_PATH_LEN_CONSTRAINT_INVALID
-8155Certificate path length constraint is invalid.
SEC_ERROR_CERT_USAGES_INVALID
-8154Certificate usages field is invalid.
SEC_INTERNAL_ONLY
-8153Internal-only module.
SEC_ERROR_INVALID_KEY
-8152The key does not support the requested operation.
SEC_ERROR_UNKNOWN_CRITICAL_EXTENSION
-8151Certificate contains unknown critical extension.
SEC_ERROR_OLD_CRL
-8150New CRL is not later than the current one.
SEC_ERROR_NO_EMAIL_CERT
-8149Not encrypted or signed: you do not yet have an email certificate.
SEC_ERROR_NO_RECIPIENT_CERTS_QUERY
-8148Not encrypted: you do not have certificates for each of the recipients.
SEC_ERROR_NOT_A_RECIPIENT
-8147Cannot decrypt: you are not a recipient, or matching certificate and private key not found.
SEC_ERROR_PKCS7_KEYALG_MISMATCH
-8146Cannot decrypt: key encryption algorithm does not match your certificate.
SEC_ERROR_PKCS7_BAD_SIGNATURE
-8145Signature verification failed: no signer found, too many signers found, \

or improper or corrupted data.

SEC_ERROR_UNSUPPORTED_KEYALG
-8144Unsupported or unknown key algorithm.
SEC_ERROR_DECRYPTION_DISALLOWED
-8143Cannot decrypt: encrypted using a disallowed algorithm or key size.
XP_SEC_FORTEZZA_BAD_CARD
-8142FORTEZZA card has not been properly initialized.
XP_SEC_FORTEZZA_NO_CARD
-8141No FORTEZZA cards found.
XP_SEC_FORTEZZA_NONE_SELECTED
-8140No FORTEZZA card selected.
XP_SEC_FORTEZZA_MORE_INFO
-8139Please select a personality to get more info on.
XP_SEC_FORTEZZA_PERSON_NOT_FOUND
-8138Personality not found
XP_SEC_FORTEZZA_NO_MORE_INFO
-8137No more information on that personality.
XP_SEC_FORTEZZA_BAD_PIN
-8136Invalid PIN.
XP_SEC_FORTEZZA_PERSON_ERROR
-8135Couldn't initialize FORTEZZA personalities.
SEC_ERROR_NO_KRL
-8134No KRL for this site's certificate has been found.
SEC_ERROR_KRL_EXPIRED
-8133The KRL for this site's certificate has expired.
SEC_ERROR_KRL_BAD_SIGNATURE
-8132The KRL for this site's certificate has an invalid signature.
SEC_ERROR_REVOKED_KEY
-8131The key for this site's certificate has been revoked.
SEC_ERROR_KRL_INVALID
-8130New KRL has an invalid format.
SEC_ERROR_NEED_RANDOM
-8129Security library: need random data.
SEC_ERROR_NO_MODULE
-8128Security library: no security module can perform the requested operation.
SEC_ERROR_NO_TOKEN 
-8127The security card or token does not exist, needs to be initialized, or has been removed.
SEC_ERROR_READ_ONLY
-8126Security library: read-only database.
SEC_ERROR_NO_SLOT_SELECTED
-8125No slot or token was selected.
SEC_ERROR_CERT_NICKNAME_COLLISION
-8124A certificate with the same nickname already exists.
SEC_ERROR_KEY_NICKNAME_COLLISION
-8123A key with the same nickname already exists.
SEC_ERROR_SAFE_NOT_CREATED
-8122Error while creating safe object.
SEC_ERROR_BAGGAGE_NOT_CREATED
-8121Error while creating baggage object.
XP_JAVA_REMOVE_PRINCIPAL_ERROR
-8120Couldn't remove the principal.
XP_JAVA_DELETE_PRIVILEGE_ERROR
-8119Couldn't delete the privilege
XP_JAVA_CERT_NOT_EXISTS_ERROR
-8118This principal doesn't have a certificate.
SEC_ERROR_BAD_EXPORT_ALGORITHM
-8117Required algorithm is not allowed.
SEC_ERROR_EXPORTING_CERTIFICATES
-8116Error attempting to export certificates.
SEC_ERROR_IMPORTING_CERTIFICATES
-8115Error attempting to import certificates.
SEC_ERROR_PKCS12_DECODING_PFX
-8114Unable to import. Decoding error. File not valid.
SEC_ERROR_PKCS12_INVALID_MAC
-8113Unable to import. Invalid MAC. Incorrect password or corrupt file.
SEC_ERROR_PKCS12_UNSUPPORTED_MAC_ALGORITHM
-8112Unable to import. MAC algorithm not supported.
SEC_ERROR_PKCS12_UNSUPPORTED_TRANSPORT_MODE
-8111Unable to import. Only password integrity and privacy modes supported.
SEC_ERROR_PKCS12_CORRUPT_PFX_STRUCTURE 
-8110Unable to import. File structure is corrupt.
SEC_ERROR_PKCS12_UNSUPPORTED_PBE_ALGORITHM
-8109Unable to import. Encryption algorithm not supported.
SEC_ERROR_PKCS12_UNSUPPORTED_VERSION
-8108Unable to import. File version not supported.
SEC_ERROR_PKCS12_PRIVACY_PASSWORD_INCORRECT
-8107Unable to import. Incorrect privacy password.
SEC_ERROR_PKCS12_CERT_COLLISION
-8106Unable to import. Same nickname already exists in database.
SEC_ERROR_USER_CANCELLED
-8105The user clicked cancel.
SEC_ERROR_PKCS12_DUPLICATE_DATA
-8104Not imported, already in database.
SEC_ERROR_MESSAGE_SEND_ABORTED
-8103Message not sent.
SEC_ERROR_INADEQUATE_KEY_USAGE
-8102Certificate key usage inadequate for attempted operation.
SEC_ERROR_INADEQUATE_CERT_TYPE
-8101Certificate type not approved for application.
SEC_ERROR_CERT_ADDR_MISMATCH
-8100Address in signing certificate does not match address in message headers.
SEC_ERROR_PKCS12_UNABLE_TO_IMPORT_KEY
-8099Unable to import. Error attempting to import private key.
SEC_ERROR_PKCS12_IMPORTING_CERT_CHAIN
-8098Unable to import. Error attempting to import certificate chain.
SEC_ERROR_PKCS12_UNABLE_TO_LOCATE_OBJECT_BY_NAME
-8097Unable to export. Unable to locate certificate or key by nickname.
SEC_ERROR_PKCS12_UNABLE_TO_EXPORT_KEY 
-8096Unable to export. Private key could not be located and exported.
SEC_ERROR_PKCS12_UNABLE_TO_WRITE
-8095Unable to export. Unable to write the export file.
SEC_ERROR_PKCS12_UNABLE_TO_READ
-8094Unable to import. Unable to read the import file.
SEC_ERROR_PKCS12_KEY_DATABASE_NOT_INITIALIZED
-8093Unable to export. Key database corrupt or deleted.
SEC_ERROR_KEYGEN_FAIL
-8092Unable to generate public-private key pair.
SEC_ERROR_INVALID_PASSWORD
-8091Password entered is invalid.
SEC_ERROR_RETRY_OLD_PASSWORD
-8090Old password entered incorrectly.
SEC_ERROR_BAD_NICKNAME
-8089Certificate nickname already in use.
SEC_ERROR_NOT_FORTEZZA_ISSUER
-8088Peer FORTEZZA chain has a non-FORTEZZA Certificate.
SEC_ERROR_CANNOT_MOVE_SENSITIVE_KEY
-8087"A sensitive key cannot be moved to the slot where it is needed."
SEC_ERROR_JS_INVALID_MODULE_NAME
-8086Invalid module name.
SEC_ERROR_JS_INVALID_DLL
-8085Invalid module path/filename.
SEC_ERROR_JS_ADD_MOD_FAILURE
-8084Unable to add module.
SEC_ERROR_JS_DEL_MOD_FAILURE
-8083Unable to delete module.
SEC_ERROR_OLD_KRL
-8082New KRL is not later than the current one.
SEC_ERROR_CKL_CONFLICT
-8081New CKL has different issuer than current CKL.
SEC_ERROR_CERT_NOT_IN_NAME_SPACE
-8080Certificate issuer is not permitted to issue a certificate with this name.
SEC_ERROR_KRL_NOT_YET_VALID
-8079"The key revocation list for this certificate is not yet valid."
SEC_ERROR_CRL_NOT_YET_VALID
-8078"The certificate revocation list for this certificate is not yet valid."
SEC_ERROR_UNKNOWN_CERT
-8077"The requested certificate could not be found."
SEC_ERROR_UNKNOWN_SIGNER
-8076"The signer's certificate could not be found."
SEC_ERROR_CERT_BAD_ACCESS_LOCATION
-8075"The location for the certificate status server has invalid format."
SEC_ERROR_OCSP_UNKNOWN_RESPONSE_TYPE
-8074"The OCSP response cannot be fully decoded; it is of an unknown type."
SEC_ERROR_OCSP_BAD_HTTP_RESPONSE
-8073"The OCSP server returned unexpected/invalid HTTP data."
SEC_ERROR_OCSP_MALFORMED_REQUEST
-8072"The OCSP server found the request to be corrupted or improperly formed."
SEC_ERROR_OCSP_SERVER_ERROR
-8071"The OCSP server experienced an internal error."
SEC_ERROR_OCSP_TRY_SERVER_LATER
-8070"The OCSP server suggests trying again later."
SEC_ERROR_OCSP_REQUEST_NEEDS_SIG
-8069"The OCSP server requires a signature on this request."
SEC_ERROR_OCSP_UNAUTHORIZED_REQUEST
-8068"The OCSP server has refused this request as unauthorized."
SEC_ERROR_OCSP_UNKNOWN_RESPONSE_STATUS
-8067"The OCSP server returned an unrecognizable status."
SEC_ERROR_OCSP_UNKNOWN_CERT
-8066"The OCSP server has no status for the certificate."
SEC_ERROR_OCSP_NOT_ENABLED
-8065"You must enable OCSP before performing this operation."
SEC_ERROR_OCSP_NO_DEFAULT_RESPONDER
-8064"You must set the OCSP default responder before performing this operation."
SEC_ERROR_OCSP_MALFORMED_RESPONSE
-8063"The response from the OCSP server was corrupted or improperly formed."
SEC_ERROR_OCSP_UNAUTHORIZED_RESPONSE
-8062"The signer of the OCSP response is not authorized to give status for this certificate."
SEC_ERROR_OCSP_FUTURE_RESPONSE
-8061"The OCSP response is not yet valid (contains a date in the future)."
SEC_ERROR_OCSP_OLD_RESPONSE
-8060"The OCSP response contains out-of-date information."
SEC_ERROR_DIGEST_NOT_FOUND
-8059"The CMS or PKCS #7 Digest was not found in signed message."
SEC_ERROR_UNSUPPORTED_MESSAGE_TYPE
-8058"The CMS or PKCS #7 Message type is unsupported."
SEC_ERROR_MODULE_STUCK
-8057"PKCS #11 module could not be removed because it is still in use."
SEC_ERROR_BAD_TEMPLATE
-8056"Could not decode ASN.1 data. Specified template was invalid."
SEC_ERROR_CRL_NOT_FOUND
-8055"No matching CRL was found."
SEC_ERROR_REUSED_ISSUER_AND_SERIAL
-8054"You are attempting to import a cert with the same issuer/serial as an existing cert, but that is not the same cert."
SEC_ERROR_BUSY
-8053"NSS could not shutdown. Objects are still in use."
SEC_ERROR_EXTRA_INPUT
-8052"DER-encoded message contained extra unused data."
SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE
-8051"Unsupported elliptic curve."
SEC_ERROR_UNSUPPORTED_EC_POINT_FORM
-8050"Unsupported elliptic curve point form."
SEC_ERROR_UNRECOGNIZED_OID
-8049"Unrecognized Object IDentifier."
SEC_ERROR_OCSP_INVALID_SIGNING_CERT
-8048"Invalid OCSP signing certificate in OCSP response."
SEC_ERROR_REVOKED_CERTIFICATE_CRL
-8047"Certificate is revoked in issuer's certificate revocation list."
SEC_ERROR_REVOKED_CERTIFICATE_OCSP
-8046"Issuer's OCSP responder reports certificate is revoked."
SEC_ERROR_CRL_INVALID_VERSION
-8045"Issuer's Certificate Revocation List has an unknown version number."
SEC_ERROR_CRL_V1_CRITICAL_EXTENSION
-8044"Issuer's V1 Certificate Revocation List has a critical extension."
SEC_ERROR_CRL_UNKNOWN_CRITICAL_EXTENSION
-8043"Issuer's V2 Certificate Revocation List has an unknown critical extension."
SEC_ERROR_UNKNOWN_OBJECT_TYPE
-8042"Unknown object type specified."
SEC_ERROR_INCOMPATIBLE_PKCS11
-8041"PKCS #11 driver violates the spec in an incompatible way."
SEC_ERROR_NO_EVENT
-8040"No new slot event is available at this time."
SEC_ERROR_CRL_ALREADY_EXISTS
-8039"CRL already exists."
SEC_ERROR_NOT_INITIALIZED
-8038"NSS is not initialized."
SEC_ERROR_TOKEN_NOT_LOGGED_IN
-8037"The operation failed because the PKCS#11 token is not logged in."






Table 8.1 Error codes defined in sslerr.h

ConstantValueDescription
SSL_ERROR_EXPORT_ONLY_SERVER-12288"Unable to communicate securely. Peer does not support high-grade encryption."

The local system was configured to support the cipher suites permitted for domestic use. The remote system was configured to support only the cipher suites permitted for export use.

SSL_ERROR_US_ONLY_SERVER-12287"Unable to communicate securely. Peer requires high-grade encryption which is not supported." 

The remote system was configured to support the cipher suites permitted for domestic use. The local system was configured to support only the cipher suites permitted for export use.

SSL_ERROR_NO_CYPHER_OVERLAP-12286"Cannot communicate securely with peer: no common encryption algorithm(s)."

The local and remote systems share no cipher suites in common. This can be due to a misconfiguration at either end. It can be due to a server being misconfigured to use a non-RSA certificate with the RSA key exchange algorithm.

SSL_ERROR_NO_CERTIFICATE-12285"Unable to find the certificate or key necessary for authentication." 

This error has many potential causes; for example: 

Certificate or key not found in database. 

Certificate not marked trusted in database and Certificate's issuer not marked trusted in database. 

Wrong password for key database. 

Missing database.

SSL_ERROR_BAD_CERTIFICATE-12284"Unable to communicate securely with peer: peers's certificate was rejected." 

A certificate was received from the remote system and was passed to the certificate authentication callback function provided by the local application. That callback function returned SECFailure, and the bad certificate callback function either was not configured or did not choose to override the error code returned by the certificate authentication callback function.

 -12283(unused)
SSL_ERROR_BAD_CLIENT-12282"The server has encountered bad data from the client." 

This error code should occur only on sockets that are acting as servers. It is a generic error, used when none of the other more specific error codes defined in this file applies.

SSL_ERROR_BAD_SERVER-12281"The client has encountered bad data from the server." 

This error code should occur only on sockets that are acting as clients. It is a generic error, used when none of the other more specific error codes defined in this file applies.

SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE-12280"Unsupported certificate type." 

The operation encountered a certificate that was not one of the well known certificate types handled by the certificate library.

SSL_ERROR_UNSUPPORTED_VERSION-12279"Peer using unsupported version of security protocol." 

On a client socket, this means the remote server has attempted to negotiate the use of a version of SSL that is not supported by the NSS library, probably an invalid version number. On a server socket, this means the remote client has requested the use of a version of SSL older than version 2.

 -12278(unused)
SSL_ERROR_WRONG_CERTIFICATE
-12277"Client authentication failed: private key in key database does not correspond to public key in certificate database."
SSL_ERROR_BAD_CERT_DOMAIN-12276"Unable to communicate securely with peer: requested domain name does not match the server's certificate." 

This error code should be returned by the certificate authentication callback function when it detects that the Common Name in the remote server's certificate does not match the hostname sought by the local client, according to the matching rules specified for CERT_VerifyCertName

SSL_ERROR_POST_WARNING
-12275(unused)
SSL_ERROR_SSL2_DISABLED-12274"Peer only supports SSL version 2, which is locally disabled."

The remote server has asked to use SSL version 2, and SSL version 2 is disabled in the local client's configuration.

SSL_ERROR_BAD_MAC_READ-12273"SSL received a record with an incorrect Message Authentication Code." 

This usually indicates that the client and server have failed to come to agreement on the set of keys used to encrypt the application data and to check message integrity. If this occurs frequently on a server, an active attack (such as the "million question" attack) may be underway against the server.

SSL_ERROR_BAD_MAC_ALERT-12272"SSL peer reports incorrect Message Authentication Code."

The remote system has reported that it received a message with a bad Message Authentication Code from the local system. This may indicate that an attack on that server is underway.

SSL_ERROR_BAD_CERT_ALERT-12271"SSL peer cannot verify your certificate." 

The remote system has received a certificate from the local system, and has rejected it for some reason.

SSL_ERROR_REVOKED_CERT_ALERT-12270"SSL peer rejected your certificate as revoked." 

The remote system has received a certificate from the local system, and has determined that the certificate has been revoked.

SSL_ERROR_EXPIRED_CERT_ALERT-12269"SSL peer rejected your certificate as expired." 

The remote system has received a certificate from the local system, and has determined that the certificate has expired.

SSL_ERROR_SSL_DISABLED-12268"Cannot connect: SSL is disabled."

The local socket is configured in such a way that it cannot use any of the SSL cipher suites. Possible causes include: (a) both SSL2 and SSL3 are disabled, (b) All the individual SSL cipher suites are disabled, or (c) the socket is configured to handshake as a server, but the certificate associated with that socket is inappropriate for the Key Exchange Algorithm selected.

SSL_ERROR_FORTEZZA_PQG-12267"Cannot connect: SSL peer is in another FORTEZZA domain."

The local system and the remote system are in different FORTEZZA domains. They must be in the same domain to communicate.

SSL_ERROR_UNKNOWN_CIPHER_SUITE-12266"An unknown SSL cipher suite has been requested."

The application has attempted to configure SSL to use an unknown cipher suite.

SSL_ERROR_NO_CIPHERS_SUPPORTED-12265"No cipher suites are present and enabled in this program." 

Possible causes: (a) all cipher suites have been configured to be disabled, (b) the only cipher suites that are configured to be enabled are those that are disallowed by cipher export policy, (c) the socket is configured to handshake as a server, but the certificate associated with that socket is inappropriate for the Key Exchange Algorithm selected.

SSL_ERROR_BAD_BLOCK_PADDING-12264"SSL received a record with bad block padding."

SSL was using a Block cipher, and the last block in an SSL record had incorrect padding information in it. This usually indicates that the client and server have failed to come to agreement on the set of keys used to encrypt the application data and to check message integrity. If this occurs frequently on a server, an active attack (such as the "million question" attack) may be underway against the server.

SSL_ERROR_RX_RECORD_TOO_LONG-12263"SSL received a record that exceeded the maximum permissible length." 

This generally indicates that the remote peer system has a flawed implementation of SSL, and is violating the SSL specification.

SSL_ERROR_TX_RECORD_TOO_LONG-12262"SSL attempted to send a record that exceeded the maximum permissible length."

This error should never occur. If it does, it indicates a flaw in the NSS SSL library.

SSL_ERROR_CLOSE_NOTIFY_ALERT-12230"SSL peer has closed this connection."

The local socket received an SSL3 alert record from the remote peer, reporting that the remote peer has chosen to end the connection. The receipt of this alert is an error only if it occurs while a handshake is in progress. 

SSL_ERROR_PUB_KEY_SIZE_LIMIT_EXCEEDED-12210"SSL Server attempted to use domestic-grade public key with export cipher suite." 

On a client socket, this error reports that the remote server has failed to perform an "SSL Step down" for an export cipher. It has sent a certificate bearing a domestic-grade public key, but has not sent a ServerKeyExchange message containing an export-grade public key for the key exchange algorithm. Such a connection cannot be permitted without violating U.S. export policies. On a server socket, this indicates a failure of the local library.

SSL_ERROR_NO_SERVER_KEY_FOR_ALG-12206"Server has no key for the attempted key exchange algorithm." 

An SSL client has requested an SSL cipher suite that uses a Key Exchange Algorithm for which the local server has no appropriate public key. This indicates a configuration error on the local server.

SSL_ERROR_TOKEN_INSERTION_REMOVAL-12205"PKCS #11 token was inserted or removed while operation was in progress." 

A cryptographic operation required to complete the handshake failed because the token that was performing it was removed while the handshake was underway. Another token may also have been inserted into the same slot.

SSL_ERROR_TOKEN_SLOT_NOT_FOUND-12204"No PKCS#11 token could be found to do a required operation." 

A cryptographic operation required a PKCS#11 token with specific abilities, and no token could be found in any slot, including the "soft token" in the internal virtual slot, that could do the job. May indicate a server configuration error, such as having a certificate that is inappropriate for the Key Exchange Algorithm selected.

SSL_ERROR_NO_COMPRESSION_OVERLAP
-12203"Cannot communicate securely with peer: no common compression algorithm(s)."
SSL_ERROR_HANDSHAKE_NOT_COMPLETED
-12202"Cannot initiate another SSL handshake until current handshake is complete."
SSL_ERROR_BAD_HANDSHAKE_HASH_VALUE
-12201"Received incorrect handshakes hash values from peer."
SSL_ERROR_CERT_KEA_MISMATCH
-12200"The certificate provided cannot be used with the selected key exchange algorithm."
SSL_ERROR_NO_TRUSTED_SSL_CLIENT_CA
-12199"No certificate authority is trusted for SSL client authentication."
SSL_ERROR_SESSION_NOT_FOUND
-12198"Client's SSL session ID not found in server's session cache."

Received a malformed (too long or short or invalid content) SSL handshake: 

All the error codes in the following block indicate that the local socket received an improperly formatted SSL3 handshake message from the remote peer. This probably indicates a flaw in the remote peer's implementation. 

SSL_ERROR_RX_MALFORMED_HELLO_REQUEST-12261"SSL received a malformed Hello Request handshake message."
SSL_ERROR_RX_MALFORMED_CLIENT_HELLO-12260"SSL received a malformed Client Hello handshake message."
SSL_ERROR_RX_MALFORMED_SERVER_HELLO-12259"SSL received a malformed Server Hello handshake message."
SSL_ERROR_RX_MALFORMED_CERTIFICATE-12258"SSL received a malformed Certificate handshake message."
SSL_ERROR_RX_MALFORMED_SERVER_KEY_EXCH -12257"SSL received a malformed Server Key Exchange handshake message."
SSL_ERROR_RX_MALFORMED_CERT_REQUEST-12256"SSL received a malformed Certificate Request handshake message."
SSL_ERROR_RX_MALFORMED_HELLO_DONE-12255"SSL received a malformed Server Hello Done handshake message."
SSL_ERROR_RX_MALFORMED_CERT_VERIFY-12254"SSL received a malformed Certificate Verify handshake message."
SSL_ERROR_RX_MALFORMED_CLIENT_KEY_EXCH -12253"SSL received a malformed Client Key Exchange handshake message."
SSL_ERROR_RX_MALFORMED_FINISHED-12252"SSL received a malformed Finished handshake message."

Received a malformed (too long or short) SSL record:

All the error codes in the following block indicate that the local socket received an improperly formatted SSL3 record from the remote peer. This probably indicates a flaw in the remote peer's implementation. 

SSL_ERROR_RX_MALFORMED_CHANGE_CIPHER-12251"SSL received a malformed Change Cipher Spec record."
SSL_ERROR_RX_MALFORMED_ALERT-12250"SSL received a malformed Alert record."
SSL_ERROR_RX_MALFORMED_HANDSHAKE-12249"SSL received a malformed Handshake record."
SSL_ERROR_RX_MALFORMED_APPLICATION_DATA -12248"SSL received a malformed Application Data record."

Received an SSL handshake that was inappropriate for the current state:

All the error codes in the following block indicate that the local socket received an SSL3 handshake message from the remote peer at a time when it was inappropriate for the peer to have sent this message. For example, a server received a message from another server. This probably indicates a flaw in the remote peer's implementation. 

SSL_ERROR_RX_UNEXPECTED_HELLO_REQUEST-12247"SSL received an unexpected Hello Request handshake message."
SSL_ERROR_RX_UNEXPECTED_CLIENT_HELLO-12246"SSL received an unexpected Client Hello handshake message."
SSL_ERROR_RX_UNEXPECTED_SERVER_HELLO-12245"SSL received an unexpected Server Hello handshake message."
SSL_ERROR_RX_UNEXPECTED_CERTIFICATE-12244"SSL received an unexpected Certificate handshake message."
SSL_ERROR_RX_UNEXPECTED_SERVER_KEY_EXCH -12243"SSL received an unexpected Server Key Exchange handshake message."
SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST-12242"SSL received an unexpected Certificate Request handshake message."
SSL_ERROR_RX_UNEXPECTED_HELLO_DONE-12241"SSL received an unexpected Server Hello Done handshake message."
SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY-12240"SSL received an unexpected Certificate Verify handshake message."
SSL_ERROR_RX_UNEXPECTED_CLIENT_KEY_EXCH -12239"SSL received an unexpected Client Key Exchange handshake message."
SSL_ERROR_RX_UNEXPECTED_FINISHED-12238"SSL received an unexpected Finished handshake message."

Received an SSL record that was inappropriate for the current state:

All the error codes in the following block indicate that the local socket received an SSL3 record from the remote peer at a time when it was inappropriate for the peer to have sent this message. This probably indicates a flaw in the remote peer's implementation. 

SSL_ERROR_RX_UNEXPECTED_CHANGE_CIPHER-12237"SSL received an unexpected Change Cipher Spec record."
SSL_ERROR_RX_UNEXPECTED_ALERT-12236"SSL received an unexpected Alert record."
SSL_ERROR_RX_UNEXPECTED_HANDSHAKE-12235"SSL received an unexpected Handshake record."
SSL_ERROR_RX_UNEXPECTED_APPLICATION_DATA-12234"SSL received an unexpected Application Data record."

Received record/message with unknown discriminant:

All the error codes in the following block indicate that the local socket received an SSL3 record or handshake message from the remote peer that it was unable to interpret because the byte that identifies the type of record or message contained an unrecognized value. This probably indicates a flaw in the remote peer's implementation.

SSL_ERROR_RX_UNKNOWN_RECORD_TYPE-12233"SSL received a record with an unknown content type."
SSL_ERROR_RX_UNKNOWN_HANDSHAKE-12232"SSL received a handshake message with an unknown message type."
SSL_ERROR_RX_UNKNOWN_ALERT-12231"SSL received an alert record with an unknown alert description."

Received an alert report:

All the error codes in the following block indicate that the local socket received an SSL3 or TLS alert record from the remote peer, reporting some issue that it had with an SSL record or handshake message it received. (Some _Alert codes are listed in other blocks.) 

SSL_ERROR_HANDSHAKE_UNEXPECTED_ALERT-12229"SSL peer was not expecting a handshake message it received."
SSL_ERROR_DECOMPRESSION_FAILURE_ALERT-12228"SSL peer was unable to successfully decompress an SSL record it received."
SSL_ERROR_HANDSHAKE_FAILURE_ALERT-12227"SSL peer was unable to negotiate an acceptable set of security parameters."
SSL_ERROR_ILLEGAL_PARAMETER_ALERT-12226"SSL peer rejected a handshake message for unacceptable content."
SSL_ERROR_UNSUPPORTED_CERT_ALERT-12225"SSL peer does not support certificates of the type it received."
SSL_ERROR_CERTIFICATE_UNKNOWN_ALERT-12224"SSL peer had some unspecified issue with the certificate it received."
SSL_ERROR_DECRYPTION_FAILED_ALERT-12197"Peer was unable to decrypt an SSL record it received."
SSL_ERROR_RECORD_OVERFLOW_ALERT-12196"Peer received an SSL record that was longer than is permitted."
SSL_ERROR_UNKNOWN_CA_ALERT-12195"Peer does not recognize and trust the CA that issued your certificate."
SSL_ERROR_ACCESS_DENIED_ALERT-12194"Peer received a valid certificate, but access was denied."
SSL_ERROR_DECODE_ERROR_ALERT-12193"Peer could not decode an SSL handshake message."
SSL_ERROR_DECRYPT_ERROR_ALERT-12192"Peer reports failure of signature verification or key exchange."
SSL_ERROR_EXPORT_RESTRICTION_ALERT-12191"Peer reports negotiation not in compliance with export regulations."
SSL_ERROR_PROTOCOL_VERSION_ALERT-12190"Peer reports incompatible or unsupported protocol version."
SSL_ERROR_INSUFFICIENT_SECURITY_ALERT-12189"Server requires ciphers more secure than those supported by client."
SSL_ERROR_INTERNAL_ERROR_ALERT-12188"Peer reports it experienced an internal error."
SSL_ERROR_USER_CANCELED_ALERT-12187"Peer user canceled handshake."
SSL_ERROR_NO_RENEGOTIATION_ALERT
-12186"Peer does not permit renegotiation of SSL security parameters."

Unspecified errors that occurred while attempting some operation:

All the error codes in the following block describe the operation that was being attempted at the time of the unspecified failure. These failures may be caused by the system running out of memory, or errors returned by PKCS#11 routines that did not provide meaningful error codes of their own. These should rarely be seen. (Certain of these error codes have more specific meanings, as described.)

SSL_ERROR_GENERATE_RANDOM_FAILURE-12223"SSL experienced a failure of its random number generator."
SSL_ERROR_SIGN_HASHES_FAILURE-12222"Unable to digitally sign data required to verify your certificate."
SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE-12221"SSL was unable to extract the public key from the peer's certificate."
SSL_ERROR_SERVER_KEY_EXCHANGE_FAILURE-12220"Unspecified failure while processing SSL Server Key Exchange handshake."
SSL_ERROR_CLIENT_KEY_EXCHANGE_FAILURE-12219"Unspecified failure while processing SSL Client Key Exchange handshake."
SSL_ERROR_ENCRYPTION_FAILURE-12218"Bulk data encryption algorithm failed in selected cipher suite."
SSL_ERROR_DECRYPTION_FAILURE-12217"Bulk data decryption algorithm failed in selected cipher suite."
SSL_ERROR_MD5_DIGEST_FAILURE-12215"MD5 digest function failed."
SSL_ERROR_SHA_DIGEST_FAILURE-12214"SHA-1 digest function failed."
SSL_ERROR_MAC_COMPUTATION_FAILURE-12213"Message Authentication Code computation failed."
SSL_ERROR_SYM_KEY_CONTEXT_FAILURE-12212"Failure to create Symmetric Key context."
SSL_ERROR_SYM_KEY_UNWRAP_FAILURE-12211"Failure to unwrap the Symmetric key in Client Key Exchange message."
SSL_ERROR_IV_PARAM_FAILURE-12209"PKCS11 code failed to translate an IV into a param."
SSL_ERROR_INIT_CIPHER_SUITE_FAILURE-12208"Failed to initialize the selected cipher suite."
SSL_ERROR_SOCKET_WRITE_FAILURE-12216"Attempt to write encrypted data to underlying socket failed."

After the data to be sent was encrypted, the attempt to send it out the socket failed. Likely causes include that the peer has closed the connection.

SSL_ERROR_SESSION_KEY_GEN_FAILURE-12207"Failed to generate session keys for SSL session."

On a client socket, indicates a failure of the PKCS11 key generation function. On a server socket, indicates a failure of one of the following: (a) to unwrap the pre-master secret from the ClientKeyExchange message, (b) to derive the master secret from the premaster secret, (c) to derive the MAC secrets, cryptographic keys, and initialization vectors from the master secret. If encountered repeatedly on a server socket, this can indicate that the server is actively under a "million question" attack.

SEC Error Codes

Table 8.2 Security error codes defined in secerr.h

ConstantValueDescription
SEC_ERROR_IO
-8192An I/O error occurred during authentication; or
an error occurred during crypto operation (other than signature verification).
SEC_ERROR_LIBRARY_FAILURE
-8191Security library failure.
SEC_ERROR_BAD_DATA
-8190Security library: received bad data.
SEC_ERROR_OUTPUT_LEN
-8189Security library: output length error.
SEC_ERROR_INPUT_LEN
-8188Security library: input length error.
SEC_ERROR_INVALID_ARGS
-8187Security library: invalid arguments.
SEC_ERROR_INVALID_ALGORITHM
-8186Security library: invalid algorithm.
SEC_ERROR_INVALID_AVA
-8185Security library: invalid AVA.
SEC_ERROR_INVALID_TIME
-8184Security library: invalid time.
SEC_ERROR_BAD_DER
-8183Security library: improperly formatted DER-encoded message.
SEC_ERROR_BAD_SIGNATURE
-8182Peer's certificate has an invalid signature.
SEC_ERROR_EXPIRED_CERTIFICATE
-8181Peer's certificate has expired.
SEC_ERROR_REVOKED_CERTIFICATE
-8180Peer's certificate has been revoked.
SEC_ERROR_UNKNOWN_ISSUER
-8179Peer's certificate issuer is not recognized.
SEC_ERROR_BAD_KEY
-8178Peer's public key is invalid
SEC_ERROR_BAD_PASSWORD
-8177The password entered is incorrect.
SEC_ERROR_RETRY_PASSWORD
-8176New password entered incorrectly.
SEC_ERROR_NO_NODELOCK
-8175Security library: no nodelock.
SEC_ERROR_BAD_DATABASE
-8174Security library: bad database.
SEC_ERROR_NO_MEMORY
-8173Security library: memory allocation failure.
SEC_ERROR_UNTRUSTED_ISSUER
-8172Peer's certificate issuer has been marked as not trusted by the user.
SEC_ERROR_UNTRUSTED_CERT
-8171Peer's certificate has been marked as not trusted by the user.
SEC_ERROR_DUPLICATE_CERT
-8170Certificate already exists in your database.
SEC_ERROR_DUPLICATE_CERT_NAME
-8169Downloaded certificate's name duplicates one already in your database.
SEC_ERROR_ADDING_CERT
-8168Error adding certificate to database.
SEC_ERROR_FILING_KEY
-8167Error refiling the key for this certificate.
SEC_ERROR_NO_KEY
-8166The private key for this certificate cannot be found in key database.
SEC_ERROR_CERT_VALID
-8165This certificate is valid.
SEC_ERROR_CERT_NOT_VALID
-8164This certificate is not valid.
SEC_ERROR_CERT_NO_RESPONSE
-8163Certificate library: no response.
SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE
-8162The certificate issuer's certificate has expired.
SEC_ERROR_CRL_EXPIRED
-8161The CRL for the certificate's issuer has expired.
SEC_ERROR_CRL_BAD_SIGNATURE
-8160The CRL for the certificate's issuer has an invalid signature.
SEC_ERROR_CRL_INVALID
-8159New CRL has an invalid format.
SEC_ERROR_EXTENSION_VALUE_INVALID
-8158Certificate extension value is invalid.
SEC_ERROR_EXTENSION_NOT_FOUND
-8157Certificate extension not found.
SEC_ERROR_CA_CERT_INVALID
-8156Issuer certificate is invalid.
SEC_ERROR_PATH_LEN_CONSTRAINT_INVALID
-8155Certificate path length constraint is invalid.
SEC_ERROR_CERT_USAGES_INVALID
-8154Certificate usages field is invalid.
SEC_INTERNAL_ONLY
-8153Internal-only module.
SEC_ERROR_INVALID_KEY
-8152The key does not support the requested operation.
SEC_ERROR_UNKNOWN_CRITICAL_EXTENSION
-8151Certificate contains unknown critical extension.




No comments:

Post a Comment