aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/common/ec/RawECPublicKey.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cz/crcs/ectester/common/ec/RawECPublicKey.java')
-rw-r--r--src/cz/crcs/ectester/common/ec/RawECPublicKey.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/cz/crcs/ectester/common/ec/RawECPublicKey.java b/src/cz/crcs/ectester/common/ec/RawECPublicKey.java
new file mode 100644
index 0000000..f09feef
--- /dev/null
+++ b/src/cz/crcs/ectester/common/ec/RawECPublicKey.java
@@ -0,0 +1,45 @@
+package cz.crcs.ectester.common.ec;
+
+import cz.crcs.ectester.common.util.ECUtil;
+
+import java.security.interfaces.ECPublicKey;
+import java.security.spec.ECParameterSpec;
+import java.security.spec.ECPoint;
+
+/**
+ * @author Jan Jancar johny@neuromancer.sk
+ */
+public class RawECPublicKey implements ECPublicKey {
+ private ECPoint point;
+ private ECParameterSpec params;
+
+ public RawECPublicKey(ECPoint point, ECParameterSpec params) {
+ this.point = point;
+ this.params = params;
+ }
+
+ @Override
+ public ECPoint getW() {
+ return point;
+ }
+
+ @Override
+ public String getAlgorithm() {
+ return "EC";
+ }
+
+ @Override
+ public String getFormat() {
+ return "Raw";
+ }
+
+ @Override
+ public byte[] getEncoded() {
+ return ECUtil.toX962Uncompressed(point, params);
+ }
+
+ @Override
+ public ECParameterSpec getParams() {
+ return params;
+ }
+}