diff options
author | Magdalena Grodzińska <mag.grodzinska@gmail.com> | 2020-01-13 22:21:55 +0100 |
---|---|---|
committer | Magdalena Grodzińska <mag.grodzinska@gmail.com> | 2020-01-13 22:21:55 +0100 |
commit | 6a2a65319fd804b5d3ca3aa6636fb3dc25db930b (patch) | |
tree | 021901ce94f86bd3a1e2f8bc3fea5f490c3cd5be /src/main/java/pl/edu/mimuw/cloudatlas/querysigner/QuerySigner.java | |
parent | 50924560e8829914a4b8d315752c693890210c88 (diff) | |
parent | 12175874524e19d999880302c66b7242de47e482 (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.java | 44 |
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(); + } +} |