implemented EncryptedKeyStore
for this to work, the KeyStorage interface had to be extended Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
@@ -3,11 +3,19 @@ package de.srsoftware.oidc.api;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import org.jose4j.jwk.JsonWebKey;
|
||||
import org.jose4j.jwk.PublicJsonWebKey;
|
||||
import org.jose4j.lang.JoseException;
|
||||
|
||||
public interface KeyStorage {
|
||||
public KeyStorage drop(String keyId);
|
||||
public List<String> listKeys();
|
||||
public PublicJsonWebKey load(String keyId) throws IOException, KeyManager.KeyCreationException;
|
||||
public KeyStorage store(PublicJsonWebKey jsonWebKey) throws IOException;
|
||||
public KeyStorage drop(String keyId);
|
||||
public List<String> listKeys();
|
||||
public default PublicJsonWebKey load(String keyId) throws IOException, JoseException {
|
||||
return PublicJsonWebKey.Factory.newPublicJwk(loadJson(keyId));
|
||||
}
|
||||
public String loadJson(String keyId) throws IOException;
|
||||
public KeyStorage store(String keyId, String json) throws IOException;
|
||||
public default KeyStorage store(PublicJsonWebKey key) throws IOException {
|
||||
return store(key.getKeyId(), key.toJson(JsonWebKey.OutputControlLevel.INCLUDE_PRIVATE));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user