Exemple #1
0
 public override T CreateKeyIdentifierClause <T>() where T : SecurityKeyIdentifierClause
 {
     this.ThrowIfDisposed();
     if (typeof(T) == typeof(X509SubjectKeyIdentifierClause))
     {
         X509SubjectKeyIdentifierClause clause;
         if (X509SubjectKeyIdentifierClause.TryCreateFrom(this.certificate, out clause))
         {
             return(clause as T);
         }
     }
     else
     {
         if (typeof(T) == typeof(X509ThumbprintKeyIdentifierClause))
         {
             return(new X509ThumbprintKeyIdentifierClause(this.certificate) as T);
         }
         if (typeof(T) == typeof(X509IssuerSerialKeyIdentifierClause))
         {
             return(new X509IssuerSerialKeyIdentifierClause(this.certificate) as T);
         }
         if (typeof(T) == typeof(X509RawDataKeyIdentifierClause))
         {
             return(new X509RawDataKeyIdentifierClause(this.certificate) as T);
         }
     }
     return(base.CreateKeyIdentifierClause <T>());
 }
        public override T CreateKeyIdentifierClause <T>()
        {
            ThrowIfDisposed();
            if (typeof(T) == typeof(X509SubjectKeyIdentifierClause))
            {
                X509SubjectKeyIdentifierClause x509KeyIdentifierClause;
                if (X509SubjectKeyIdentifierClause.TryCreateFrom(certificate, out x509KeyIdentifierClause))
                {
                    return(x509KeyIdentifierClause as T);
                }
            }
            else if (typeof(T) == typeof(X509ThumbprintKeyIdentifierClause))
            {
                return(new X509ThumbprintKeyIdentifierClause(certificate) as T);
            }
            else if (typeof(T) == typeof(X509IssuerSerialKeyIdentifierClause))
            {
                return(new X509IssuerSerialKeyIdentifierClause(certificate) as T);
            }
            else if (typeof(T) == typeof(X509RawDataKeyIdentifierClause))
            {
                return(new X509RawDataKeyIdentifierClause(certificate) as T);
            }

            return(base.CreateKeyIdentifierClause <T>());
        }