summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/db/DbSatellite.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/db/DbSatellite.java')
-rw-r--r--src/main/java/org/openslx/imagemaster/db/DbSatellite.java24
1 files changed, 4 insertions, 20 deletions
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 );