AltSignatureAlgorithm
using System;
namespace Org.BouncyCastle.Asn1.X509
{
public class AltSignatureAlgorithm : Asn1Encodable
{
private readonly AlgorithmIdentifier m_algorithm;
public AlgorithmIdentifier Algorithm => m_algorithm;
public static AltSignatureAlgorithm GetInstance(object obj)
{
if (obj == null)
return null;
AltSignatureAlgorithm altSignatureAlgorithm = obj as AltSignatureAlgorithm;
if (altSignatureAlgorithm != null)
return altSignatureAlgorithm;
return new AltSignatureAlgorithm(AlgorithmIdentifier.GetInstance(obj));
}
public static AltSignatureAlgorithm GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
return new AltSignatureAlgorithm(AlgorithmIdentifier.GetInstance(taggedObject, declaredExplicit));
}
public static AltSignatureAlgorithm GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
return new AltSignatureAlgorithm(AlgorithmIdentifier.GetTagged(taggedObject, declaredExplicit));
}
public static AltSignatureAlgorithm FromExtensions(X509Extensions extensions)
{
return GetInstance(X509Extensions.GetExtensionParsedValue(extensions, X509Extensions.AltSignatureAlgorithm));
}
public AltSignatureAlgorithm(AlgorithmIdentifier algorithm)
{
if (algorithm == null)
throw new ArgumentNullException("algorithm");
m_algorithm = algorithm;
}
public AltSignatureAlgorithm(DerObjectIdentifier algorithm)
: this(algorithm, null)
{
}
public AltSignatureAlgorithm(DerObjectIdentifier algorithm, Asn1Encodable parameters)
{
m_algorithm = new AlgorithmIdentifier(algorithm, parameters);
}
public override Asn1Object ToAsn1Object()
{
return m_algorithm.ToAsn1Object();
}
}
}