Skip to content

Commit b41f48b

Browse files
committed
validate certificate subject CN
1 parent 5ec484f commit b41f48b

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

integrations/src/test/java/io/jenkins/plugins/casc/SystemCredentialsTest.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
import java.net.URL;
2525
import java.nio.file.Files;
2626
import java.nio.file.Paths;
27+
import java.security.KeyStore;
28+
import java.security.cert.X509Certificate;
2729
import java.util.Base64;
2830
import java.util.Collections;
2931
import java.util.Enumeration;
@@ -91,11 +93,18 @@ public void configure_system_credentials() throws Exception {
9193
byte[] actualBytes = keyStoreSource.getUploadedKeystore().getPlainData();
9294
assertThat("The bytes in Jenkins should be identical to the source file", actualBytes, equalTo(expectedBytes));
9395

94-
Enumeration<String> aliases = certImpl.getKeyStore().aliases();
96+
KeyStore keyStore = certImpl.getKeyStore();
97+
Enumeration<String> aliases = keyStore.aliases();
9598
assertThat("Keystore should not be empty", aliases.hasMoreElements(), equalTo(true));
9699

97-
String firstAlias = aliases.nextElement();
98-
assertThat("Alias should contain a valid key", certImpl.getKeyStore().isKeyEntry(firstAlias), equalTo(true));
100+
String alias = aliases.nextElement();
101+
X509Certificate certificate = (X509Certificate) keyStore.getCertificate(alias);
102+
assertThat(certificate, notNullValue());
103+
104+
String subject = certificate.getSubjectX500Principal().getName();
105+
assertThat(subject, containsString("CN=Test"));
106+
107+
assertThat(certificate.getType(), equalTo("X.509"));
99108

100109
List<BasicSSHUserPrivateKey> sshPrivateKeys = CredentialsProvider.lookupCredentials(
101110
BasicSSHUserPrivateKey.class, jenkins, ACL.SYSTEM, Collections.emptyList());

0 commit comments

Comments
 (0)