Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/org/spongycastle/asn1/eac/PublicKeyDataObject.java')
-rw-r--r--core/src/main/java/org/spongycastle/asn1/eac/PublicKeyDataObject.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/core/src/main/java/org/spongycastle/asn1/eac/PublicKeyDataObject.java b/core/src/main/java/org/spongycastle/asn1/eac/PublicKeyDataObject.java
new file mode 100644
index 00000000..88c6c56c
--- /dev/null
+++ b/core/src/main/java/org/spongycastle/asn1/eac/PublicKeyDataObject.java
@@ -0,0 +1,35 @@
+package org.spongycastle.asn1.eac;
+
+import org.spongycastle.asn1.ASN1Object;
+import org.spongycastle.asn1.ASN1ObjectIdentifier;
+import org.spongycastle.asn1.ASN1Sequence;
+
+public abstract class PublicKeyDataObject
+ extends ASN1Object
+{
+ public static PublicKeyDataObject getInstance(Object obj)
+ {
+ if (obj instanceof PublicKeyDataObject)
+ {
+ return (PublicKeyDataObject)obj;
+ }
+ if (obj != null)
+ {
+ ASN1Sequence seq = ASN1Sequence.getInstance(obj);
+ ASN1ObjectIdentifier usage = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0));
+
+ if (usage.on(EACObjectIdentifiers.id_TA_ECDSA))
+ {
+ return new ECDSAPublicKey(seq);
+ }
+ else
+ {
+ return new RSAPublicKey(seq);
+ }
+ }
+
+ return null;
+ }
+
+ public abstract ASN1ObjectIdentifier getUsage();
+}