1 /* 2 * Copyright 2014 The Netty Project 3 * 4 * The Netty Project licenses this file to you under the Apache License, 5 * version 2.0 (the "License"); you may not use this file except in compliance 6 * with the License. You may obtain a copy of the License at: 7 * 8 * https://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 * License for the specific language governing permissions and limitations 14 * under the License. 15 */ 16 package io.netty.handler.ssl; 17 18 import io.netty.util.internal.SuppressJava6Requirement; 19 20 import javax.net.ssl.SSLParameters; 21 import java.security.AlgorithmConstraints; 22 23 final class Java7SslParametersUtils { 24 25 private Java7SslParametersUtils() { 26 // Utility 27 } 28 29 /** 30 * Utility method that is used by {@link OpenSslEngine} and so allow use not have any reference to 31 * {@link AlgorithmConstraints} in the code. This helps us to not get into trouble when using it in java 32 * version < 7 and especially when using on android. 33 */ 34 @SuppressJava6Requirement(reason = "Usage guarded by java version check") 35 static void setAlgorithmConstraints(SSLParameters sslParameters, Object algorithmConstraints) { 36 sslParameters.setAlgorithmConstraints((AlgorithmConstraints) algorithmConstraints); 37 } 38 39 /** 40 * Utility method for calling the {@code setEndpointIdentitificationAlgorithm} method, 41 * which was introduced in Java 7. 42 */ 43 @SuppressJava6Requirement(reason = "Usage guarded by java version check") 44 static void setEndpointIdentificationAlgorithm( 45 SSLParameters sslParameters, String endpointIdentificationAlgorithm) { 46 sslParameters.setEndpointIdentificationAlgorithm(endpointIdentificationAlgorithm); 47 } 48 }