beautypg.com

Verifying all certificates, Signature verification, Verifying all certificates signature verification – Zilog EZ80F91AZA User Manual

Page 56

background image

UM020107-1211

SSL Configuration

ZTP Network Security SSL Plug-In

User Manual

50

The SSL protocol layer internally sets the

SSL_X509_TRUSTED

flag on all certificates that

it implicitly trusts, or on those certificates for which the

VerifyCertificate

callback

function returns

SSL_SUCCESS

.

The ZTP Network Security SSL Plug-In does not check if the certificate has been revoked. No
attempt is made to contact certificate issuers and obtain a list of certificates that have been revoked.
If this functionality is required, it must be implemented within the

VerifyCertificate

callback

function.

Verifying All Certificates

In some instances, it is useful to examine all certificates – even those that the SSL layer
implicitly trusts (i.e., the

SSL_X509_TRUSTED

flag is set), especially if the application

must perform additional integrity checks on the certificate beyond the basic verification
performed in the SSL library. For example, the application can obtain the issuer’s certifi-
cate revocation list
(CRL) to determine if an otherwise-valid certificate should be rejected.

To force the

VerifyCertificate

callback to be called for all certificates processed by

the SSL handshake protocols, set the value of the

SSL_PresentAllCertificates

con-

figuration variable to TRUE. This variable is located in the

ssl_conf.c

configuration

file. Its default definition is shown in the following code fragment:

SSL_BOOL SSL_PresentAllCertificates = FALSE;

Signature Verification

A digital signature provides a mechanism that allows an entity to verify that another entity
was the originator of a specific piece of digital information. This verification establishes
the authenticity of the information. To generate a signature, the information is typically
hashed into a fixed-sized quantity using a digest algorithm, and then subjected to a public
key operation using the signatory’s private key.

Any other entity possessing the signatory’s public key can then perform the complemen-
tary public key operation using the signatory’s public key and compare the recovered
digest to a locally-generated digest of the same piece of information. If these digests are
identical, the information is deemed authentic; i.e., the signatory’s private key has not
been compromised. If the key remains secure, then by the nature of the asymmetric public
key algorithm, it is extremely unlikely that an attacker could forge the signature on an
altered block of information.

All X.509 certificates used by SSL must be signed by an issuer. By verifying the signature
on a certificate, the recipient can be relatively certain that the certificate is accurate and
identical to the information that the issuer originally signed. If it can be proven (via an

Note:

This manual is related to the following products: