m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/pl/edu/mimuw/cloudatlas/querysigner/QuerySigner.java
diff options
context:
space:
mode:
authorMagdalena Grodzińska <mag.grodzinska@gmail.com>2020-01-13 22:21:55 +0100
committerMagdalena Grodzińska <mag.grodzinska@gmail.com>2020-01-13 22:21:55 +0100
commit6a2a65319fd804b5d3ca3aa6636fb3dc25db930b (patch)
tree021901ce94f86bd3a1e2f8bc3fea5f490c3cd5be /src/main/java/pl/edu/mimuw/cloudatlas/querysigner/QuerySigner.java
parent50924560e8829914a4b8d315752c693890210c88 (diff)
parent12175874524e19d999880302c66b7242de47e482 (diff)
Merge branch 'query_signer' of github.com:m-chrzan/CloudAtlas into query_signer
Diffstat (limited to 'src/main/java/pl/edu/mimuw/cloudatlas/querysigner/QuerySigner.java')
-rw-r--r--src/main/java/pl/edu/mimuw/cloudatlas/querysigner/QuerySigner.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/querysigner/QuerySigner.java b/src/main/java/pl/edu/mimuw/cloudatlas/querysigner/QuerySigner.java
new file mode 100644
index 0000000..735601d
--- /dev/null
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/querysigner/QuerySigner.java
@@ -0,0 +1,44 @@
+package pl.edu.mimuw.cloudatlas.querysigner;
+
+import pl.edu.mimuw.cloudatlas.querysignerapi.QuerySignerApi;
+
+import java.io.IOException;
+import java.rmi.registry.LocateRegistry;
+import java.rmi.registry.Registry;
+import java.rmi.server.UnicastRemoteObject;
+import java.security.PrivateKey;
+import java.security.PublicKey;
+
+public class QuerySigner {
+ public static class InvalidQueryException extends Exception {
+ InvalidQueryException() {
+ super("Query invalid");
+ }
+ }
+
+ private static QuerySignerApiImplementation initApi() throws IOException {
+ String publicKeyFile = System.getProperty("public_key_file");
+ String privateKeyFile = System.getProperty("private_key_file");
+ PublicKey publicKey = KeyUtils.getPublicKey(publicKeyFile);
+ PrivateKey privateKey = KeyUtils.getPrivateKey(privateKeyFile);
+ return new QuerySignerApiImplementation(publicKey, privateKey);
+ }
+
+ public static void runRegistry() {
+ try {
+ QuerySignerApiImplementation api = initApi();
+ QuerySignerApi apiStub =
+ (QuerySignerApi) UnicastRemoteObject.exportObject(api, 0);
+ Registry registry = LocateRegistry.getRegistry();
+ registry.rebind("QuerySignerApi", apiStub);
+ System.out.println("QuerySigner: api bound");
+ } catch (Exception e) {
+ System.err.println("QuerySigner registry initialization exception:");
+ e.printStackTrace();
+ }
+ }
+
+ public static void main(String[] args) {
+ runRegistry();
+ }
+}