anchor.diff:        {$BOOLEVAL OFF}
         if FPFXStream.Size > 0
         then begin
  -        FPrivKeyInfo.Name := '';
  -        FPrivKeyInfo.SerialNumber := '';
  -        FPrivKeyInfo.notValidBefore := 0;
  -        FPrivKeyInfo.notValidAfter := 0;
  +        ClearPrivKeyInfo;
   
           {$IFNDEF USE_LIBEET}
           FMngr := xmlSecKeysMngrCreate();
  
positive.code:     procedure SetActive(const Value: Boolean);
      procedure CheckActive;
      procedure CheckInactive;
      procedure ReadPrivKeyInfo;
      function ExtractSubjectItem(aSubject, ItemName : string): string;
    public
  
negative.code:          if (xmlSecKeyDataIsValid(DataItem) and xmlSecKeyDataCheckId(DataItem, xmlSecOpenSSLKeyDataX509Id)) then
             begin
               x509cert := xmlSecOpenSSLKeyDataX509GetKeyCert(DataItem);
               if xmlSecOpenSSLX509CertGetSubject(X509_get_subject_name(x509cert), a_subject) = 0 then
                 FPrivKeyInfo.Subject := ExtractSubjectItem(a_subject, 'CN');
               if Length(FPrivKeyInfo.Subject) > 2 then
                 if Copy(FPrivKeyInfo.Subject,1,2) = 'CZ'  then
                   begin
                     if xmlSecOpenSSLX509CertGetTime(X509_get_notBefore(x509cert), a_time) = 0 then
                       FPrivKeyInfo.notValidBefore :=a_time;
                     if xmlSecOpenSSLX509CertGetTime(X509_get_notAfter(x509cert), a_time) = 0 then
                       FPrivKeyInfo.notValidAfter := a_time;
                     if xmlSecOpenSSLX509CertGetSerialNumber(X509_get_serialNumber(x509cert), a_serialnumber) = 0 then
                       FPrivKeyInfo.SerialNumber :=a_serialnumber;
                     Break;
                   end;
             end;
        end;
  
  