TX509CertificateChain

From Ultibo.org
Jump to: navigation, search

Return to Unit X.509


Description


To be documented

Class definitions



TX509CertificateChain = class(TObject)

protected
FRoot:TX509Certificate;  
FLock: TCriticalSectionHandle;  
 
procedure Clear; virtual;  
 
function AcquireLock:Boolean;  
function ReleaseLock:Boolean;  
public
property Root:TX509Certificate read FRoot;  
 
constructor Create(ARoot:TX509Certificate); virtual;  
destructor Destroy; override;  
 
function Last:TX509Certificate; virtual;  
 
function Prev(ACertificate:TX509Certificate):TX509Certificate; virtual;  
function Next(ACertificate:TX509Certificate):TX509Certificate; virtual;  
 
function InsertAfter(AParent,ACertificate:TX509Certificate):Boolean; virtual;  
function InsertBefore(AChild,ACertificate:TX509Certificate):Boolean; virtual;  
function Remove(ACertificate:TX509Certificate):Boolean; virtual;  
 
function FindByIssuer(AName:TX509Name):TX509Certificate; virtual;  
function FindBySubject(AName:TX509Name):TX509Certificate; virtual;  
 
function FindBySubjectCN(const AName:String):TX509Certificate; virtual;  
function FindBySubjectDN(const AName:String):TX509Certificate; virtual;  
 
function ImportDER(ABuffer:Pointer; ASize:Integer; AParent:TX509Certificate):TX509Certificate; virtual;  
function ImportPEM(ABuffer:Pointer; var ASize:Integer; AParent:TX509Certificate):TX509Certificate; virtual;  
 
function ExportDER(ABuffer:Pointer; var ASize:Integer; ACertificate:TX509Certificate):Boolean; virtual;  
function ExportPEM(ABuffer:Pointer; var ASize:Integer; AStart:TX509Certificate):Boolean; virtual;  
 
function GetPathLength(ACertificate:TX509Certificate):LongWord; virtual;  
 
function ValidateChain(ATrust:TX509CertificateList):Integer; virtual;  


Function declarations



procedure TX509CertificateChain.Clear;
Description: To be documented
Note None documented


function TX509CertificateChain.AcquireLock:Boolean;
Description: To be documented
Note None documented


function TX509CertificateChain.ReleaseLock:Boolean;
Description: To be documented
Note None documented


constructor TX509CertificateChain.Create(ARoot:TX509Certificate);
Description: To be documented
Note None documented


destructor TX509CertificateChain.Destroy;
Description: To be documented
Note None documented


function TX509CertificateChain.Last:TX509Certificate;
Description: To be documented
Note None documented


function TX509CertificateChain.Prev(ACertificate:TX509Certificate):TX509Certificate;
Description: To be documented
Note None documented


function TX509CertificateChain.Next(ACertificate:TX509Certificate):TX509Certificate;
Description: To be documented
Note None documented


function TX509CertificateChain.InsertAfter(AParent,ACertificate:TX509Certificate):Boolean;
Description: Insert a certificate in the chain after the supplied parent, if parent is nil then insert after the root of the chain
Note None documented


function TX509CertificateChain.InsertBefore(AChild,ACertificate:TX509Certificate):Boolean;
Description: Insert a certificate in the chain before the supplied child, if child is nil then insert before the root of the chain
Note None documented


function TX509CertificateChain.Remove(ACertificate:TX509Certificate):Boolean;
Description: To be documented
Note None documented


function TX509CertificateChain.FindByIssuer(AName:TX509Name):TX509Certificate;
Description: To be documented
Note None documented


function TX509CertificateChain.FindBySubject(AName:TX509Name):TX509Certificate;
Description: To be documented
Note None documented


function TX509CertificateChain.FindBySubjectCN(const AName:String):TX509Certificate;
Description: To be documented
Note None documented


function TX509CertificateChain.FindBySubjectDN(const AName:String):TX509Certificate;
Description: To be documented
Note None documented


function TX509CertificateChain.ImportDER(ABuffer:Pointer; ASize:Integer; AParent:TX509Certificate):TX509Certificate;
Description: To be documented
Note None documented


function TX509CertificateChain.ImportPEM(ABuffer:Pointer; var ASize:Integer; AParent:TX509Certificate):TX509Certificate;
Description: To be documented
Note None documented


function TX509CertificateChain.ExportDER(ABuffer:Pointer; var ASize:Integer; ACertificate:TX509Certificate):Boolean;
Description: To be documented
Note None documented


function TX509CertificateChain.ExportPEM(ABuffer:Pointer; var ASize:Integer; AStart:TX509Certificate):Boolean;
Description: To be documented
Note None documented


function TX509CertificateChain.GetPathLength(ACertificate:TX509Certificate):LongWord;
Description: Count the path length (number of certificates in the chain) from the last item up to and including the supplied certificate
Note None documented


function TX509CertificateChain.ValidateChain(ATrust:TX509CertificateList):Integer;
Description: Validate all certificates in the chain for expiry, extensions, issuer and signature
Trust List of trusted root certificates, if nil then validate all certificates up to the root certificate but do not validate issuer and signature for the root.


Return to Unit Reference