Exemple #1
0
 /// <summary>Creates the specified key identifier clause.</summary>
 /// <typeparam name="T">A <see cref="T:System.IdentityModel.Tokens.SecurityKeyIdentifierClause" /> that specifies the key identifier to create.</typeparam>
 /// <returns>A <see cref="T:System.IdentityModel.Tokens.SecurityKeyIdentifierClause" /> that is a key identifier clause for the security token.</returns>
 public override T CreateKeyIdentifierClause <T>()
 {
     this.ThrowIfDisposed();
     if (typeof(T) == typeof(X509SubjectKeyIdentifierClause))
     {
         X509SubjectKeyIdentifierClause keyIdentifierClause;
         if (X509SubjectKeyIdentifierClause.TryCreateFrom(this.certificate, out keyIdentifierClause))
         {
             return(keyIdentifierClause 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>());
 }