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>()); }