mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-17 18:35:25 +00:00
test: ensure address is resolvable in CertUtilsTests#testSubjectAlternativeNames
We check for an expected length but this is only valid if the address can be resolved and on some systems 127.0.0.1 may not map to a name. Original commit: elastic/x-pack-elasticsearch@2f7c8da242
This commit is contained in:
parent
8dd7be3f07
commit
71b78579a1
@ -7,7 +7,9 @@ package org.elasticsearch.shield.ssl;
|
|||||||
|
|
||||||
import org.bouncycastle.asn1.x509.GeneralName;
|
import org.bouncycastle.asn1.x509.GeneralName;
|
||||||
import org.bouncycastle.asn1.x509.GeneralNames;
|
import org.bouncycastle.asn1.x509.GeneralNames;
|
||||||
|
import org.elasticsearch.common.SuppressForbidden;
|
||||||
import org.elasticsearch.common.network.InetAddresses;
|
import org.elasticsearch.common.network.InetAddresses;
|
||||||
|
import org.elasticsearch.common.network.NetworkAddress;
|
||||||
import org.elasticsearch.test.ESTestCase;
|
import org.elasticsearch.test.ESTestCase;
|
||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
@ -113,7 +115,8 @@ public class CertUtilsTests extends ESTestCase {
|
|||||||
GeneralName[] generalNameArray = generalNames.getNames();
|
GeneralName[] generalNameArray = generalNames.getNames();
|
||||||
assertThat(generalNameArray, notNullValue());
|
assertThat(generalNameArray, notNullValue());
|
||||||
|
|
||||||
if (resolveName) {
|
logger.info("resolve name [{}], address [{}], subject alt names [{}]", resolveName, NetworkAddress.format(address), generalNames);
|
||||||
|
if (resolveName && isResolvable(address)) {
|
||||||
assertThat(generalNameArray.length, is(2));
|
assertThat(generalNameArray.length, is(2));
|
||||||
int firstType = generalNameArray[0].getTagNo();
|
int firstType = generalNameArray[0].getTagNo();
|
||||||
if (firstType == GeneralName.iPAddress) {
|
if (firstType == GeneralName.iPAddress) {
|
||||||
@ -129,6 +132,12 @@ public class CertUtilsTests extends ESTestCase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressForbidden(reason = "need to use getHostName to resolve DNS name and getHostAddress to ensure we resolved the name")
|
||||||
|
private boolean isResolvable(InetAddress inetAddress) {
|
||||||
|
String hostname = inetAddress.getHostName();
|
||||||
|
return hostname.equals(inetAddress.getHostAddress()) == false;
|
||||||
|
}
|
||||||
|
|
||||||
public void testIsAnyLocalAddress() throws Exception {
|
public void testIsAnyLocalAddress() throws Exception {
|
||||||
InetAddress address = mock(InetAddress.class);
|
InetAddress address = mock(InetAddress.class);
|
||||||
when(address.isAnyLocalAddress()).thenReturn(true);
|
when(address.isAnyLocalAddress()).thenReturn(true);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user