Java Code Examples for javax.net.ssl.SNIServerName#getType()

The following examples show how to use javax.net.ssl.SNIServerName#getType() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ServerNameExtension.java    From openjsse with GNU General Public License v2.0 6 votes vote down vote up
private static SNIServerName chooseSni(Collection<SNIMatcher> matchers,
        List<SNIServerName> sniNames) {
    if (sniNames != null && !sniNames.isEmpty()) {
        for (SNIMatcher matcher : matchers) {
            int matcherType = matcher.getType();
            for (SNIServerName sniName : sniNames) {
                if (sniName.getType() == matcherType) {
                    if (matcher.matches(sniName)) {
                        return sniName;
                    }

                    // no duplicated entry in the server names list.
                    break;
                }
            }
        }
    }

    return null;
}
 
Example 2
Source File: ServerNameExtension.java    From dragonwell8_jdk with GNU General Public License v2.0 6 votes vote down vote up
ServerNameExtension(List<SNIServerName> serverNames)
        throws IOException {
    super(ExtensionType.EXT_SERVER_NAME);

    listLength = 0;
    sniMap = new LinkedHashMap<>();
    for (SNIServerName serverName : serverNames) {
        // check for duplicated server name type
        if (sniMap.put(serverName.getType(), serverName) != null) {
            // unlikely to happen, but in case ...
            throw new RuntimeException(
                "Duplicated server name of type " + serverName.getType());
        }

        listLength += serverName.getEncoded().length + NAME_HEADER_LENGTH;
    }

    // This constructor is used for ClientHello only.  Empty list is
    // not allowed in client mode.
    if (listLength == 0) {
        throw new RuntimeException("The ServerNameList cannot be empty");
    }
}
 
Example 3
Source File: ServerNameExtension.java    From TencentKona-8 with GNU General Public License v2.0 6 votes vote down vote up
ServerNameExtension(List<SNIServerName> serverNames)
        throws IOException {
    super(ExtensionType.EXT_SERVER_NAME);

    listLength = 0;
    sniMap = new LinkedHashMap<>();
    for (SNIServerName serverName : serverNames) {
        // check for duplicated server name type
        if (sniMap.put(serverName.getType(), serverName) != null) {
            // unlikely to happen, but in case ...
            throw new RuntimeException(
                "Duplicated server name of type " + serverName.getType());
        }

        listLength += serverName.getEncoded().length + NAME_HEADER_LENGTH;
    }

    // This constructor is used for ClientHello only.  Empty list is
    // not allowed in client mode.
    if (listLength == 0) {
        throw new RuntimeException("The ServerNameList cannot be empty");
    }
}
 
Example 4
Source File: ServerNameExtension.java    From jdk8u60 with GNU General Public License v2.0 6 votes vote down vote up
ServerNameExtension(List<SNIServerName> serverNames)
        throws IOException {
    super(ExtensionType.EXT_SERVER_NAME);

    listLength = 0;
    sniMap = new LinkedHashMap<>();
    for (SNIServerName serverName : serverNames) {
        // check for duplicated server name type
        if (sniMap.put(serverName.getType(), serverName) != null) {
            // unlikely to happen, but in case ...
            throw new RuntimeException(
                "Duplicated server name of type " + serverName.getType());
        }

        listLength += serverName.getEncoded().length + NAME_HEADER_LENGTH;
    }

    // This constructor is used for ClientHello only.  Empty list is
    // not allowed in client mode.
    if (listLength == 0) {
        throw new RuntimeException("The ServerNameList cannot be empty");
    }
}
 
Example 5
Source File: ServerNameExtension.java    From openjdk-jdk8u with GNU General Public License v2.0 6 votes vote down vote up
ServerNameExtension(List<SNIServerName> serverNames)
        throws IOException {
    super(ExtensionType.EXT_SERVER_NAME);

    listLength = 0;
    sniMap = new LinkedHashMap<>();
    for (SNIServerName serverName : serverNames) {
        // check for duplicated server name type
        if (sniMap.put(serverName.getType(), serverName) != null) {
            // unlikely to happen, but in case ...
            throw new RuntimeException(
                "Duplicated server name of type " + serverName.getType());
        }

        listLength += serverName.getEncoded().length + NAME_HEADER_LENGTH;
    }

    // This constructor is used for ClientHello only.  Empty list is
    // not allowed in client mode.
    if (listLength == 0) {
        throw new RuntimeException("The ServerNameList cannot be empty");
    }
}
 
Example 6
Source File: ServerNameExtension.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 6 votes vote down vote up
ServerNameExtension(List<SNIServerName> serverNames)
        throws IOException {
    super(ExtensionType.EXT_SERVER_NAME);

    listLength = 0;
    sniMap = new LinkedHashMap<>();
    for (SNIServerName serverName : serverNames) {
        // check for duplicated server name type
        if (sniMap.put(serverName.getType(), serverName) != null) {
            // unlikely to happen, but in case ...
            throw new RuntimeException(
                "Duplicated server name of type " + serverName.getType());
        }

        listLength += serverName.getEncoded().length + NAME_HEADER_LENGTH;
    }

    // This constructor is used for ClientHello only.  Empty list is
    // not allowed in client mode.
    if (listLength == 0) {
        throw new RuntimeException("The ServerNameList cannot be empty");
    }
}
 
Example 7
Source File: ServerNameExtension.java    From Bytecoder with Apache License 2.0 6 votes vote down vote up
private static SNIServerName chooseSni(Collection<SNIMatcher> matchers,
        List<SNIServerName> sniNames) {
    if (sniNames != null && !sniNames.isEmpty()) {
        for (SNIMatcher matcher : matchers) {
            int matcherType = matcher.getType();
            for (SNIServerName sniName : sniNames) {
                if (sniName.getType() == matcherType) {
                    if (matcher.matches(sniName)) {
                        return sniName;
                    }

                    // no duplicated entry in the server names list.
                    break;
                }
            }
        }
    }

    return null;
}
 
Example 8
Source File: ServerNameExtension.java    From openjdk-jdk9 with GNU General Public License v2.0 6 votes vote down vote up
ServerNameExtension(List<SNIServerName> serverNames)
        throws IOException {
    super(ExtensionType.EXT_SERVER_NAME);

    listLength = 0;
    sniMap = new LinkedHashMap<>();
    for (SNIServerName serverName : serverNames) {
        // check for duplicated server name type
        if (sniMap.put(serverName.getType(), serverName) != null) {
            // unlikely to happen, but in case ...
            throw new RuntimeException(
                "Duplicated server name of type " + serverName.getType());
        }

        listLength += serverName.getEncoded().length + NAME_HEADER_LENGTH;
    }

    // This constructor is used for ClientHello only.  Empty list is
    // not allowed in client mode.
    if (listLength == 0) {
        throw new RuntimeException("The ServerNameList cannot be empty");
    }
}
 
Example 9
Source File: ServerNameExtension.java    From jdk8u-jdk with GNU General Public License v2.0 6 votes vote down vote up
ServerNameExtension(List<SNIServerName> serverNames)
        throws IOException {
    super(ExtensionType.EXT_SERVER_NAME);

    listLength = 0;
    sniMap = new LinkedHashMap<>();
    for (SNIServerName serverName : serverNames) {
        // check for duplicated server name type
        if (sniMap.put(serverName.getType(), serverName) != null) {
            // unlikely to happen, but in case ...
            throw new RuntimeException(
                "Duplicated server name of type " + serverName.getType());
        }

        listLength += serverName.getEncoded().length + NAME_HEADER_LENGTH;
    }

    // This constructor is used for ClientHello only.  Empty list is
    // not allowed in client mode.
    if (listLength == 0) {
        throw new RuntimeException("The ServerNameList cannot be empty");
    }
}
 
Example 10
Source File: ServerNameExtension.java    From hottub with GNU General Public License v2.0 6 votes vote down vote up
ServerNameExtension(List<SNIServerName> serverNames)
        throws IOException {
    super(ExtensionType.EXT_SERVER_NAME);

    listLength = 0;
    sniMap = new LinkedHashMap<>();
    for (SNIServerName serverName : serverNames) {
        // check for duplicated server name type
        if (sniMap.put(serverName.getType(), serverName) != null) {
            // unlikely to happen, but in case ...
            throw new RuntimeException(
                "Duplicated server name of type " + serverName.getType());
        }

        listLength += serverName.getEncoded().length + NAME_HEADER_LENGTH;
    }

    // This constructor is used for ClientHello only.  Empty list is
    // not allowed in client mode.
    if (listLength == 0) {
        throw new RuntimeException("The ServerNameList cannot be empty");
    }
}
 
Example 11
Source File: ServerNameExtension.java    From openjdk-8-source with GNU General Public License v2.0 6 votes vote down vote up
ServerNameExtension(List<SNIServerName> serverNames)
        throws IOException {
    super(ExtensionType.EXT_SERVER_NAME);

    listLength = 0;
    sniMap = new LinkedHashMap<>();
    for (SNIServerName serverName : serverNames) {
        // check for duplicated server name type
        if (sniMap.put(serverName.getType(), serverName) != null) {
            // unlikely to happen, but in case ...
            throw new RuntimeException(
                "Duplicated server name of type " + serverName.getType());
        }

        listLength += serverName.getEncoded().length + NAME_HEADER_LENGTH;
    }

    // This constructor is used for ClientHello only.  Empty list is
    // not allowed in client mode.
    if (listLength == 0) {
        throw new RuntimeException("The ServerNameList cannot be empty");
    }
}
 
Example 12
Source File: ServerNameExtension.java    From openjdk-8 with GNU General Public License v2.0 6 votes vote down vote up
ServerNameExtension(List<SNIServerName> serverNames)
        throws IOException {
    super(ExtensionType.EXT_SERVER_NAME);

    listLength = 0;
    sniMap = new LinkedHashMap<>();
    for (SNIServerName serverName : serverNames) {
        // check for duplicated server name type
        if (sniMap.put(serverName.getType(), serverName) != null) {
            // unlikely to happen, but in case ...
            throw new RuntimeException(
                "Duplicated server name of type " + serverName.getType());
        }

        listLength += serverName.getEncoded().length + NAME_HEADER_LENGTH;
    }

    // This constructor is used for ClientHello only.  Empty list is
    // not allowed in client mode.
    if (listLength == 0) {
        throw new RuntimeException("The ServerNameList cannot be empty");
    }
}
 
Example 13
Source File: ServerNameExtension.java    From jdk8u_jdk with GNU General Public License v2.0 6 votes vote down vote up
ServerNameExtension(List<SNIServerName> serverNames)
        throws IOException {
    super(ExtensionType.EXT_SERVER_NAME);

    listLength = 0;
    sniMap = new LinkedHashMap<>();
    for (SNIServerName serverName : serverNames) {
        // check for duplicated server name type
        if (sniMap.put(serverName.getType(), serverName) != null) {
            // unlikely to happen, but in case ...
            throw new RuntimeException(
                "Duplicated server name of type " + serverName.getType());
        }

        listLength += serverName.getEncoded().length + NAME_HEADER_LENGTH;
    }

    // This constructor is used for ClientHello only.  Empty list is
    // not allowed in client mode.
    if (listLength == 0) {
        throw new RuntimeException("The ServerNameList cannot be empty");
    }
}
 
Example 14
Source File: ServerNameExtension.java    From jdk8u-jdk with GNU General Public License v2.0 6 votes vote down vote up
ServerNameExtension(List<SNIServerName> serverNames)
        throws IOException {
    super(ExtensionType.EXT_SERVER_NAME);

    listLength = 0;
    sniMap = new LinkedHashMap<>();
    for (SNIServerName serverName : serverNames) {
        // check for duplicated server name type
        if (sniMap.put(serverName.getType(), serverName) != null) {
            // unlikely to happen, but in case ...
            throw new RuntimeException(
                "Duplicated server name of type " + serverName.getType());
        }

        listLength += serverName.getEncoded().length + NAME_HEADER_LENGTH;
    }

    // This constructor is used for ClientHello only.  Empty list is
    // not allowed in client mode.
    if (listLength == 0) {
        throw new RuntimeException("The ServerNameList cannot be empty");
    }
}
 
Example 15
Source File: ServerNameExtension.java    From jdk8u-dev-jdk with GNU General Public License v2.0 6 votes vote down vote up
ServerNameExtension(List<SNIServerName> serverNames)
        throws IOException {
    super(ExtensionType.EXT_SERVER_NAME);

    listLength = 0;
    sniMap = new LinkedHashMap<>();
    for (SNIServerName serverName : serverNames) {
        // check for duplicated server name type
        if (sniMap.put(serverName.getType(), serverName) != null) {
            // unlikely to happen, but in case ...
            throw new RuntimeException(
                "Duplicated server name of type " + serverName.getType());
        }

        listLength += serverName.getEncoded().length + NAME_HEADER_LENGTH;
    }

    // This constructor is used for ClientHello only.  Empty list is
    // not allowed in client mode.
    if (listLength == 0) {
        throw new RuntimeException("The ServerNameList cannot be empty");
    }
}
 
Example 16
Source File: Utilities.java    From openjsse with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Puts {@code hostname} into the {@code serverNames} list.
 * <P>
 * If the {@code serverNames} does not look like a legal FQDN, it will
 * not be put into the returned list.
 * <P>
 * Note that the returned list does not allow duplicated name type.
 *
 * @return a list of {@link SNIServerName}
 */
static List<SNIServerName> addToSNIServerNameList(
        List<SNIServerName> serverNames, String hostname) {

    SNIHostName sniHostName = rawToSNIHostName(hostname);
    if (sniHostName == null) {
        return serverNames;
    }

    int size = serverNames.size();
    List<SNIServerName> sniList = (size != 0) ?
            new ArrayList<SNIServerName>(serverNames) :
            new ArrayList<SNIServerName>(1);

    boolean reset = false;
    for (int i = 0; i < size; i++) {
        SNIServerName serverName = sniList.get(i);
        if (serverName.getType() == StandardConstants.SNI_HOST_NAME) {
            sniList.set(i, sniHostName);
            if (SSLLogger.isOn && SSLLogger.isOn("ssl")) {
                 SSLLogger.fine(
                    "the previous server name in SNI (" + serverName +
                    ") was replaced with (" + sniHostName + ")");
            }
            reset = true;
            break;
        }
    }

    if (!reset) {
        sniList.add(sniHostName);
    }

    return Collections.<SNIServerName>unmodifiableList(sniList);
}