From c2fcf2370dc8c3137ea77ba94f6a12f1ab01a415 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 14 Oct 2014 19:20:26 +0200 Subject: Implement registerSatellite RPC --- .../org/openslx/imagemaster/db/DbSatellite.java | 24 ++++------------------ 1 file changed, 4 insertions(+), 20 deletions(-) (limited to 'src/main/java/org/openslx/imagemaster/db/DbSatellite.java') diff --git a/src/main/java/org/openslx/imagemaster/db/DbSatellite.java b/src/main/java/org/openslx/imagemaster/db/DbSatellite.java index 383377a..4d70bef 100644 --- a/src/main/java/org/openslx/imagemaster/db/DbSatellite.java +++ b/src/main/java/org/openslx/imagemaster/db/DbSatellite.java @@ -1,14 +1,13 @@ package org.openslx.imagemaster.db; import java.math.BigInteger; -import java.security.KeyFactory; import java.security.NoSuchAlgorithmException; import java.security.PublicKey; import java.security.spec.InvalidKeySpecException; -import java.security.spec.RSAPublicKeySpec; import java.util.List; import org.apache.log4j.Logger; +import org.openslx.encryption.AsymKeyHolder; import org.openslx.imagemaster.thrift.iface.OrganizationData; /** @@ -21,18 +20,6 @@ public class DbSatellite private String organizationId, address, name, publickeyString; private PublicKey publickey = null; - private static final KeyFactory keyFact; - - static - { - KeyFactory kf; - try { - kf = KeyFactory.getInstance( "RSA" ); - } catch ( NoSuchAlgorithmException e ) { - kf = null; - } - keyFact = kf; - } public DbSatellite( String organizationId, String address, String name, String publickeyString ) { @@ -104,18 +91,15 @@ public class DbSatellite */ public PublicKey getPubkey() { - if ( publickey == null && keyFact != null && publickeyString != null ) { + if ( publickey == null && publickeyString != null ) { String parts[] = publickeyString.split( " " ); if ( parts.length != 2 ) return null; try { BigInteger mod = new BigInteger( parts[0] ); BigInteger exp = new BigInteger( parts[1] ); - RSAPublicKeySpec keySpec = new RSAPublicKeySpec( mod, exp ); - synchronized ( keyFact ) { - publickey = keyFact.generatePublic( keySpec ); - } - } catch ( InvalidKeySpecException e ) { + publickey = new AsymKeyHolder( null, exp, mod ).getPublicKey(); + } catch ( InvalidKeySpecException | NoSuchAlgorithmException e ) { LOG.info( "PubKey of " + this.name + " is not valid.", e ); } catch ( NumberFormatException e ) { LOG.info( "PubKey of " + this.name + " is corrupted in database!", e ); -- cgit v1.2.3-55-g7522