MalwareSourceCode/MSIL/Virus/Win32/E/Virus.Win32.Expiro.w-69bb73081eac86b8cf86f45e33515d0095855636967076e2b593d7a30cd80a07/Microsoft/InfoCards/TokenFactoryCredential.cs

88 lines
2.6 KiB
C#
Raw Normal View History

2022-08-18 11:28:56 +00:00
// Decompiled with JetBrains decompiler
// Type: Microsoft.InfoCards.TokenFactoryCredential
// Assembly: infocard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// MVID: 516D8B44-4448-4D2C-8B8E-FFBB3FFE472B
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Virus.Win32.Expiro.w-69bb73081eac86b8cf86f45e33515d0095855636967076e2b593d7a30cd80a07.exe
using Microsoft.InfoCards.Diagnostics;
using System;
using System.IO;
namespace Microsoft.InfoCards
{
internal abstract class TokenFactoryCredential : IDisposable
{
public const int NoCredential = -1;
private TokenFactoryCredentialType m_type;
private Uri m_cardId;
private int m_paramIndex;
private int m_lcid;
protected TokenFactoryCredential(TokenFactoryCredentialType type) => this.m_type = type;
public void Dispose() => this.Dispose(true);
public virtual void Dispose(bool disposing)
{
}
public static TokenFactoryCredential CreateFrom(
BinaryReader reader,
UIAgentRequest request,
int lcid)
{
TokenFactoryCredential from;
switch (reader.ReadInt32())
{
case -1:
from = (TokenFactoryCredential) null;
break;
case 1:
from = (TokenFactoryCredential) new UserNameTokenFactoryCredential();
from.Deserialize(reader);
break;
case 2:
from = (TokenFactoryCredential) new SelfIssuedTokenFactoryCredential();
from.Deserialize(reader);
break;
case 3:
from = (TokenFactoryCredential) new X509CertificateTokenFactoryCredential(request);
from.Deserialize(reader);
break;
case 4:
from = (TokenFactoryCredential) new KerberosTokenFactoryCredential();
from.Deserialize(reader);
break;
default:
InfoCardTrace.ThrowInvalidArgumentConditional(true, "CredentialType");
from = (TokenFactoryCredential) null;
break;
}
if (from != null)
from.LCID = lcid;
return from;
}
public int ParameterIndex => this.m_paramIndex;
public TokenFactoryCredentialType CredentialType => this.m_type;
public int LCID
{
get => this.m_lcid;
set => this.m_lcid = value;
}
public Uri CardId => this.m_cardId;
private void Deserialize(BinaryReader reader)
{
this.m_cardId = new Uri(Utility.DeserializeString(reader));
this.m_paramIndex = reader.ReadInt32();
this.DeserializeData(reader);
}
protected abstract void DeserializeData(BinaryReader reader);
}
}