This package includes the SharkSSL lite library and header files.

Dependents:   WebSocket-Client-Example SharkMQ-LED-Demo

Embed: (wiki syntax)

« Back to documentation index

SharkSslCertInfo Struct Reference

SharkSslCertInfo Struct Reference
[Peer's certificate information]

The peer's certificate information returned by SharkSslCon_getCertInfo. More...

#include <SharkSSL.h>

Data Fields

U16 snLen
 Length of 'sn' (serial number)
U8 version
 Certificate version is offset at 0 so add +1 for actual version number.
U8 CAflag
 The Certificate Authority flag (CA) is set to one if the certificate is a CA i.e.
U8 * sn
 Binary serial number.
U8 * timeFrom
 Certificate is valid from date (in UTCTime format: YYMMDDHHMMSSZ)
U8 * timeTo
 Certificate expiration date (in UTCTime format: YYMMDDHHMMSSZ)
SharkSslCertDN issuer
 The entity who has signed and issued the certificate (RFC2459 4.1.2.4)
SharkSslCertDN subject
 The entity associated with the public key (RFC2459 4.1.2.6).
U8 * subjectAltDNSNames
 Subject Alternative DNS Names, if set, is a pointer to a list of alternative names.
U32 keyUsagePurposes
 KeyUsage & ExtendedKeyUsage (key purposes) flags.
struct SharkSslCertInfoparent
 Pointer to parent node when the SharkSslCertInfo object is part of a certificate chain.

Detailed Description

The peer's certificate information returned by SharkSslCon_getCertInfo.

See also:
SharkSslCertDN

Definition at line 743 of file SharkSSL.h.


Field Documentation

U8 CAflag

The Certificate Authority flag (CA) is set to one if the certificate is a CA i.e.

a root certificate.

Definition at line 756 of file SharkSSL.h.

The entity who has signed and issued the certificate (RFC2459 4.1.2.4)

Definition at line 774 of file SharkSSL.h.

KeyUsage & ExtendedKeyUsage (key purposes) flags.

Verify that the KeyUsage extension is present through the SharkSslCertInfo_isKeyUsagePresent(o) pseudo-function, then verify all the flags through the pseudo-functions: SharkSslCertInfo_KU_digitalSignature(o) SharkSslCertInfo_KU_nonRepudiation(o) SharkSslCertInfo_KU_keyEncipherment(o) SharkSslCertInfo_KU_dataEncipherment(o) SharkSslCertInfo_KU_keyAgreement(o) SharkSslCertInfo_KU_keyCertSign(o) SharkSslCertInfo_KU_cRLSign(o) SharkSslCertInfo_KU_encipherOnly(o) SharkSslCertInfo_KU_decipherOnly(o)

Verify the ExtendedKeyUsage purposes through the following: SharkSslCertInfo_kp_serverAuth(o) SharkSslCertInfo_kp_clientAuth(o) SharkSslCertInfo_kp_codeSigning(o) SharkSslCertInfo_kp_emailProtection(o) SharkSslCertInfo_kp_timeStamping(o) SharkSslCertInfo_kp_OCSPSigning(o)

Definition at line 817 of file SharkSSL.h.

Pointer to parent node when the SharkSslCertInfo object is part of a certificate chain.

You walk up the chain until you reach the root.

Definition at line 823 of file SharkSSL.h.

U8* sn

Binary serial number.

The length is provided in 'snLen'

Definition at line 760 of file SharkSSL.h.

U16 snLen

Length of 'sn' (serial number)

Definition at line 746 of file SharkSSL.h.

The entity associated with the public key (RFC2459 4.1.2.6).

Definition at line 780 of file SharkSSL.h.

Subject Alternative DNS Names, if set, is a pointer to a list of alternative names.

Each entry in the list is prefixed with a 1-byte length, followed by a string of 'length' bytes; the list ends with a zero length. The following example is from certcheck.c:

Definition at line 792 of file SharkSSL.h.

U8* timeFrom

Certificate is valid from date (in UTCTime format: YYMMDDHHMMSSZ)

Definition at line 764 of file SharkSSL.h.

U8* timeTo

Certificate expiration date (in UTCTime format: YYMMDDHHMMSSZ)

Definition at line 768 of file SharkSSL.h.

U8 version

Certificate version is offset at 0 so add +1 for actual version number.

Definition at line 751 of file SharkSSL.h.