Skip to content

Commit 13cd42a

Browse files
committed
Added test
1 parent be994fb commit 13cd42a

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

sslcontext-kickstart/src/test/java/nl/altindag/ssl/util/KeyManagerUtilsShould.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,29 @@ void addIdentityMaterialAsKeyStoreToInflatableKeyManager() {
498498
assertThat(innerKeyManagers.get("key-manager-two")).isNotNull();
499499
}
500500

501+
@Test
502+
void removeIdentityMaterialFromInflatableKeyManager() {
503+
X509ExtendedKeyManager inflatableKeyManager = KeyManagerUtils.createInflatableKeyManager();
504+
assertThat(inflatableKeyManager).isInstanceOf(InflatableX509ExtendedKeyManager.class);
505+
506+
KeyStore identityOne = KeyStoreUtils.loadKeyStore(KEYSTORE_LOCATION + IDENTITY_FILE_NAME, IDENTITY_PASSWORD);
507+
KeyStore identityTwo = KeyStoreUtils.loadKeyStore(KEYSTORE_LOCATION + IDENTITY_TWO_FILE_NAME, IDENTITY_PASSWORD);
508+
509+
KeyManagerUtils.addIdentityMaterial(inflatableKeyManager, "key-manager-one", identityOne, IDENTITY_PASSWORD);
510+
KeyManagerUtils.addIdentityMaterial(inflatableKeyManager, "key-manager-two", identityTwo, IDENTITY_PASSWORD);
511+
assertThat(KeyManagerUtils.getAliases(inflatableKeyManager)).containsExactly("key-manager-one", "key-manager-two");
512+
513+
Map<String, X509ExtendedKeyManager> innerKeyManagers = ((AggregatedX509ExtendedKeyManager) ((InflatableX509ExtendedKeyManager) inflatableKeyManager).getInnerKeyManager()).getInnerKeyManagers();
514+
assertThat(innerKeyManagers.get("key-manager-one")).isNotNull();
515+
assertThat(innerKeyManagers.get("key-manager-two")).isNotNull();
516+
517+
KeyManagerUtils.removeIdentityMaterial(inflatableKeyManager, "key-manager-one");
518+
519+
innerKeyManagers = ((AggregatedX509ExtendedKeyManager) ((InflatableX509ExtendedKeyManager) inflatableKeyManager).getInnerKeyManager()).getInnerKeyManagers();
520+
assertThat(innerKeyManagers).doesNotContainKey("key-manager-one");
521+
assertThat(innerKeyManagers.get("key-manager-two")).isNotNull();
522+
}
523+
501524
@Test
502525
void addIdentityMaterialAsKeyManagerToAWrappedInflatableKeyManagerInALoggingKeyManager() {
503526
X509ExtendedKeyManager inflatableKeyManager = KeyManagerUtils.createInflatableKeyManager();
@@ -572,6 +595,20 @@ void throwsExceptionWhenAddingIdentityMaterialToNonInflatableKeyManager() {
572595
.hasMessage("The provided keyManager should be an instance of [nl.altindag.ssl.keymanager.InflatableX509ExtendedKeyManager]");
573596
}
574597

598+
@Test
599+
void throwsExceptionWhenAddingIdentityMaterialToNonInflatableKeyManagerWrappedInAggregatableKeyManager() {
600+
KeyStore identityOne = KeyStoreUtils.loadKeyStore(KEYSTORE_LOCATION + IDENTITY_FILE_NAME, IDENTITY_PASSWORD);
601+
KeyStore identityTwo = KeyStoreUtils.loadKeyStore(KEYSTORE_LOCATION + IDENTITY_TWO_FILE_NAME, IDENTITY_PASSWORD);
602+
X509ExtendedKeyManager keyManagerOne = KeyManagerUtils.createKeyManager(identityOne, IDENTITY_PASSWORD);
603+
X509ExtendedKeyManager keyManagerTwo = KeyManagerUtils.createKeyManager(identityTwo, IDENTITY_PASSWORD);
604+
605+
X509ExtendedKeyManager keyManager = KeyManagerUtils.combine(keyManagerOne, keyManagerTwo);
606+
607+
assertThatThrownBy(() -> KeyManagerUtils.addIdentityMaterial(keyManager, "key-manager-one", identityTwo, IDENTITY_PASSWORD))
608+
.isInstanceOf(GenericKeyManagerException.class)
609+
.hasMessage("The provided keyManager should be an instance of [nl.altindag.ssl.keymanager.InflatableX509ExtendedKeyManager]");
610+
}
611+
575612
@Test
576613
void throwExceptionWhenCreatingKeyManagerFromKeyStoreWhichDoesNotHaveMatchingAlias() throws KeyStoreException {
577614
KeyStore identity = KeyStoreUtils.loadKeyStore(KEYSTORE_LOCATION + "identity-with-multiple-keys.jks", IDENTITY_PASSWORD);

0 commit comments

Comments
 (0)