Discuss this help topic in SecureBlackbox Forum


TElAS2Client     See also     

Filter: C#  VB.NET  Pascal  C++  PHP  Java  

This event is fired when the SSL protocol requires a client certificate.


    event TSBCertificateNeededExEvent OnCertificateNeededEx;
    delegate void TSBCertificateNeededExEvent(Object Sender, ref TElX509Certificate Certificate);

    Event OnCertificateNeededEx As TSBCertificateNeededExEvent
    Delegate Sub TSBCertificateNeededExEvent(ByVal Sender As Object, ByRef Certificate As TElX509Certificate)

    property OnCertificateNeededEx : TSBCertificateNeededExEvent;
    TSBCertificateNeededExEvent = procedure (Sender: TObject; var Certificate : TElX509Certificate) of object;

    void get_OnCertificateNeededEx(TSBCertificateNeededExEvent &pMethodOutResult, void * &pDataOutResult);
    void set_OnCertificateNeededEx(TSBCertificateNeededExEvent pMethodValue, void * pDataValue);
    typedef void (SB_CALLBACK *TSBCertificateNeededExEvent)(void * _ObjectData, TObjectHandle Sender, TElX509CertificateHandle &Certificate);

    TSBCertificateNeededExEvent|callable|NULL get_OnCertificateNeededEx()
    void set_OnCertificateNeededEx(TSBCertificateNeededExEvent|callable|NULL $Value)
    callable TSBCertificateNeededExEvent(TObject $Sender, TElX509Certificate &$Certificate)

    TSBCertificateNeededExEvent getOnCertificateNeededEx();
    void setOnCertificateNeededEx(TSBCertificateNeededExEvent Value);
    TSBCertificateNeededExEvent.Callback OnCertificateNeededEx = new TSBCertificateNeededExEvent.Callback() {
        public TElX509Certificate TSBCertificateNeededExEventCallback(TObject Sender) {


  • Certificate - points to instance of TElX509Certificate class (see noted below)


    This event is fired by TElAS2Client when the negotiated SSL protocol requires a client-side X509 certificate to be used during the session. TElAS2Client fires OnCertificateNeededEx event consequently, until the nil/NULL value is passed as Certificate parameter. This gives the ability to pass a certificate chain to the server, not only a single certificate. This event should be handled in the following way:

  • Pass the whole certificate chain, beginning at end-entity certificate with a corresponding private key.
  • When the chain is over, pass nil/NULL as Certificate parameter.

OnCertificateNeededEx can accept the certificate which belongs to the certain chain. In this case the whole chain is sent and OnCertificateNeededEx is not fired further.

See also:     OnCertificateValidate     OnCertificateChoose    

Discuss this help topic in SecureBlackbox Forum