blob: 44da4cfa19dc53085ba1fe896a23134afc6844f3 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
using System;
using Org.BouncyCastle.Utilities;
namespace Org.BouncyCastle.Asn1.X509.Qualified
{
/**
* The TypeOfBiometricData object.
* <pre>
* TypeOfBiometricData ::= CHOICE {
* predefinedBiometricType PredefinedBiometricType,
* biometricDataOid OBJECT IDENTIFIER }
*
* PredefinedBiometricType ::= INTEGER {
* picture(0),handwritten-signature(1)}
* (picture|handwritten-signature)
* </pre>
*/
public class TypeOfBiometricData
: Asn1Encodable, IAsn1Choice
{
public const int Picture = 0;
public const int HandwrittenSignature = 1;
internal Asn1Encodable obj;
public static TypeOfBiometricData GetInstance(
object obj)
{
if (obj == null || obj is TypeOfBiometricData)
{
return (TypeOfBiometricData) obj;
}
if (obj is DerInteger)
{
DerInteger predefinedBiometricTypeObj = DerInteger.GetInstance(obj);
int predefinedBiometricType = predefinedBiometricTypeObj.IntValueExact;
return new TypeOfBiometricData(predefinedBiometricType);
}
if (obj is DerObjectIdentifier)
{
DerObjectIdentifier BiometricDataOid = DerObjectIdentifier.GetInstance(obj);
return new TypeOfBiometricData(BiometricDataOid);
}
throw new ArgumentException("unknown object in GetInstance: " + Platform.GetTypeName(obj), "obj");
}
public static TypeOfBiometricData GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit) =>
Asn1Utilities.GetInstanceChoice(taggedObject, declaredExplicit, GetInstance);
public static TypeOfBiometricData GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit) =>
Asn1Utilities.GetTaggedChoice(taggedObject, declaredExplicit, GetInstance);
public TypeOfBiometricData(
int predefinedBiometricType)
{
if (predefinedBiometricType == Picture || predefinedBiometricType == HandwrittenSignature)
{
obj = new DerInteger(predefinedBiometricType);
}
else
{
throw new ArgumentException("unknow PredefinedBiometricType : " + predefinedBiometricType);
}
}
public TypeOfBiometricData(
DerObjectIdentifier biometricDataOid)
{
obj = biometricDataOid;
}
public bool IsPredefined
{
get { return obj is DerInteger; }
}
public int PredefinedBiometricType
{
get { return ((DerInteger)obj).IntValueExact; }
}
public DerObjectIdentifier BiometricDataOid
{
get { return (DerObjectIdentifier) obj; }
}
public override Asn1Object ToAsn1Object()
{
return obj.ToAsn1Object();
}
}
}
|