/** * @return a KeyManager for the given {@code typeUrl}, {@code primitiveName} and version at least * {@code minVersion} (if it exists in the catalogue). */ @Override public KeyManager<DeterministicAead> getKeyManager( String typeUrl, String primitiveName, int minVersion) throws GeneralSecurityException { KeyManager<DeterministicAead> keyManager; switch (primitiveName.toLowerCase()) { case "deterministicaead": keyManager = daeadKeyManager(typeUrl); break; default: throw new GeneralSecurityException( String.format("No support for primitive '%s'.", primitiveName)); } if (keyManager.getVersion() < minVersion) { throw new GeneralSecurityException( String.format( "No key manager for key type '%s' with version at least %d.", typeUrl, minVersion)); } return keyManager; }
/** * @return a KeyManager for the given {@code typeUrl}, {@code primitiveName} and version at least * {@code minVersion} (if it exists in the catalogue). */ @Override public KeyManager<HybridDecrypt> getKeyManager( String typeUrl, String primitiveName, int minVersion) throws GeneralSecurityException { KeyManager<HybridDecrypt> keyManager; switch (primitiveName.toLowerCase()) { case "hybriddecrypt": keyManager = hybridDecryptKeyManager(typeUrl); break; default: throw new GeneralSecurityException( String.format("No support for primitive '%s'.", primitiveName)); } if (keyManager.getVersion() < minVersion) { throw new GeneralSecurityException( String.format( "No key manager for key type '%s' with version at least %d.", typeUrl, minVersion)); } return keyManager; }
/** * @return a KeyManager for the given {@code typeUrl}, {@code primitiveName} and version at least * {@code minVersion} (if it exists in the catalogue). */ @Override public KeyManager<Mac> getKeyManager(String typeUrl, String primitiveName, int minVersion) throws GeneralSecurityException { KeyManager<Mac> keyManager; switch (primitiveName.toLowerCase()) { case "mac": keyManager = macKeyManager(typeUrl); break; default: throw new GeneralSecurityException( String.format("No support for primitive '%s'.", primitiveName)); } if (keyManager.getVersion() < minVersion) { throw new GeneralSecurityException( String.format( "No key manager for key type '%s' with version at least %d.", typeUrl, minVersion)); } return keyManager; }
/** * @return a KeyManager for the given {@code typeUrl}, {@code primitiveName} and version at least * {@code minVersion} (if it exists in the catalogue). */ @Override public KeyManager<PublicKeyVerify> getKeyManager( String typeUrl, String primitiveName, int minVersion) throws GeneralSecurityException { KeyManager<PublicKeyVerify> keyManager; switch (primitiveName.toLowerCase()) { case "publickeyverify": keyManager = publicKeyVerifyKeyManager(typeUrl); break; default: throw new GeneralSecurityException( String.format("No support for primitive '%s'.", primitiveName)); } if (keyManager.getVersion() < minVersion) { throw new GeneralSecurityException( String.format( "No key manager for key type '%s' with version at least %d.", typeUrl, minVersion)); } return keyManager; }
/** * @return a KeyManager for the given {@code typeUrl}, {@code primitiveName} and version at least * {@code minVersion} (if it exists in the catalogue). */ @Override public KeyManager<StreamingAead> getKeyManager( String typeUrl, String primitiveName, int minVersion) throws GeneralSecurityException { KeyManager<StreamingAead> keyManager; switch (primitiveName.toLowerCase()) { case "streamingaead": keyManager = streamingAeadKeyManager(typeUrl); break; default: throw new GeneralSecurityException( String.format("No support for primitive '%s'.", primitiveName)); } if (keyManager.getVersion() < minVersion) { throw new GeneralSecurityException( String.format( "No key manager for key type '%s' with version at least %d.", typeUrl, minVersion)); } return keyManager; }
/** * @return a KeyManager for the given {@code typeUrl}, {@code primitiveName} and version at least * {@code minVersion} (if it exists in the catalogue). */ @Override public KeyManager<Aead> getKeyManager(String typeUrl, String primitiveName, int minVersion) throws GeneralSecurityException { KeyManager<Aead> keyManager; switch (primitiveName.toLowerCase()) { case "aead": keyManager = aeadKeyManager(typeUrl); break; default: throw new GeneralSecurityException( String.format("No support for primitive '%s'.", primitiveName)); } if (keyManager.getVersion() < minVersion) { throw new GeneralSecurityException( String.format( "No key manager for key type '%s' with version at least %d.", typeUrl, minVersion)); } return keyManager; }
/** * @return a KeyManager for the given {@code typeUrl}, {@code primitiveName} and version at least * {@code minVersion} (if it exists in the catalogue). */ @Override public KeyManager<HybridEncrypt> getKeyManager( String typeUrl, String primitiveName, int minVersion) throws GeneralSecurityException { KeyManager<HybridEncrypt> keyManager; switch (primitiveName.toLowerCase()) { case "hybridencrypt": keyManager = hybridEncryptKeyManager(typeUrl); break; default: throw new GeneralSecurityException( String.format("No support for primitive '%s'.", primitiveName)); } if (keyManager.getVersion() < minVersion) { throw new GeneralSecurityException( String.format( "No key manager for key type '%s' with version at least %d.", typeUrl, minVersion)); } return keyManager; }
/** * @return a KeyManager for the given {@code typeUrl}, {@code primitiveName} and version at least * {@code minVersion} (if it exists in the catalogue). */ @Override public KeyManager<PublicKeySign> getKeyManager( String typeUrl, String primitiveName, int minVersion) throws GeneralSecurityException { KeyManager<PublicKeySign> keyManager; switch (primitiveName.toLowerCase()) { case "publickeysign": keyManager = publicKeySignKeyManager(typeUrl); break; default: throw new GeneralSecurityException( String.format("No support for primitive '%s'.", primitiveName)); } if (keyManager.getVersion() < minVersion) { throw new GeneralSecurityException( String.format( "No key manager for key type '%s' with version at least %d.", typeUrl, minVersion)); } return keyManager; }