223 * in any case, even if they are enabled.
224 * <P>
225 * Note that the standard list of cipher suite names may be found in the
226 * <a href=
227 * "{@docRoot}/../specs/security/standard-names.html#jsse-cipher-suite-names">
228 * JSSE Cipher Suite Names</a> section of the Java Cryptography
229 * Architecture Standard Algorithm Name Documentation. Providers
230 * may support cipher suite names not found in this list or might not
231 * use the recommended name for a certain cipher suite.
232 * <P>
233 * <code>SSLSocket</code>s returned from <code>accept()</code>
234 * inherit this setting.
235 *
236 * @param suites Names of all the cipher suites to enable
237 * @exception IllegalArgumentException when one or more of ciphers
238 * named by the parameter is not supported, or when
239 * the parameter is null.
240 * @see #getSupportedCipherSuites()
241 * @see #getEnabledCipherSuites()
242 */
243 public abstract void setEnabledCipherSuites(String suites []);
244
245
246 /**
247 * Returns the names of the cipher suites which could be enabled for use
248 * on an SSL connection.
249 * <P>
250 * Normally, only a subset of these will actually
251 * be enabled by default, since this list may include cipher suites which
252 * do not meet quality of service requirements for those defaults. Such
253 * cipher suites are useful in specialized applications.
254 * <P>
255 * The returned array includes cipher suites from the list of standard
256 * cipher suite names in the <a href=
257 * "{@docRoot}/../specs/security/standard-names.html#jsse-cipher-suite-names">
258 * JSSE Cipher Suite Names</a> section of the Java Cryptography
259 * Architecture Standard Algorithm Name Documentation, and may also
260 * include other cipher suites that the provider supports.
261 *
262 * @return an array of cipher suite names
263 * @see #getEnabledCipherSuites()
294
295 /**
296 * Controls which particular protocols are enabled for use by
297 * accepted connections.
298 * <P>
299 * The protocols must have been listed by
300 * getSupportedProtocols() as being supported.
301 * Following a successful call to this method, only protocols listed
302 * in the <code>protocols</code> parameter are enabled for use.
303 * <P>
304 * <code>SSLSocket</code>s returned from <code>accept()</code>
305 * inherit this setting.
306 *
307 * @param protocols Names of all the protocols to enable.
308 * @exception IllegalArgumentException when one or more of
309 * the protocols named by the parameter is not supported or
310 * when the protocols parameter is null.
311 * @see #getEnabledProtocols()
312 * @see #getSupportedProtocols()
313 */
314 public abstract void setEnabledProtocols(String protocols[]);
315
316
317 /**
318 * Controls whether <code>accept</code>ed server-mode
319 * <code>SSLSockets</code> will be initially configured to
320 * <i>require</i> client authentication.
321 * <P>
322 * A socket's client authentication setting is one of the following:
323 * <ul>
324 * <li> client authentication required
325 * <li> client authentication requested
326 * <li> no client authentication desired
327 * </ul>
328 * <P>
329 * Unlike {@link #setWantClientAuth(boolean)}, if the accepted
330 * socket's option is set and the client chooses not to provide
331 * authentication information about itself, <i>the negotiations
332 * will stop and the connection will be dropped</i>.
333 * <P>
334 * Calling this method overrides any previous setting made by
|
223 * in any case, even if they are enabled.
224 * <P>
225 * Note that the standard list of cipher suite names may be found in the
226 * <a href=
227 * "{@docRoot}/../specs/security/standard-names.html#jsse-cipher-suite-names">
228 * JSSE Cipher Suite Names</a> section of the Java Cryptography
229 * Architecture Standard Algorithm Name Documentation. Providers
230 * may support cipher suite names not found in this list or might not
231 * use the recommended name for a certain cipher suite.
232 * <P>
233 * <code>SSLSocket</code>s returned from <code>accept()</code>
234 * inherit this setting.
235 *
236 * @param suites Names of all the cipher suites to enable
237 * @exception IllegalArgumentException when one or more of ciphers
238 * named by the parameter is not supported, or when
239 * the parameter is null.
240 * @see #getSupportedCipherSuites()
241 * @see #getEnabledCipherSuites()
242 */
243 public abstract void setEnabledCipherSuites(String[] suites);
244
245
246 /**
247 * Returns the names of the cipher suites which could be enabled for use
248 * on an SSL connection.
249 * <P>
250 * Normally, only a subset of these will actually
251 * be enabled by default, since this list may include cipher suites which
252 * do not meet quality of service requirements for those defaults. Such
253 * cipher suites are useful in specialized applications.
254 * <P>
255 * The returned array includes cipher suites from the list of standard
256 * cipher suite names in the <a href=
257 * "{@docRoot}/../specs/security/standard-names.html#jsse-cipher-suite-names">
258 * JSSE Cipher Suite Names</a> section of the Java Cryptography
259 * Architecture Standard Algorithm Name Documentation, and may also
260 * include other cipher suites that the provider supports.
261 *
262 * @return an array of cipher suite names
263 * @see #getEnabledCipherSuites()
294
295 /**
296 * Controls which particular protocols are enabled for use by
297 * accepted connections.
298 * <P>
299 * The protocols must have been listed by
300 * getSupportedProtocols() as being supported.
301 * Following a successful call to this method, only protocols listed
302 * in the <code>protocols</code> parameter are enabled for use.
303 * <P>
304 * <code>SSLSocket</code>s returned from <code>accept()</code>
305 * inherit this setting.
306 *
307 * @param protocols Names of all the protocols to enable.
308 * @exception IllegalArgumentException when one or more of
309 * the protocols named by the parameter is not supported or
310 * when the protocols parameter is null.
311 * @see #getEnabledProtocols()
312 * @see #getSupportedProtocols()
313 */
314 public abstract void setEnabledProtocols(String[] protocols);
315
316
317 /**
318 * Controls whether <code>accept</code>ed server-mode
319 * <code>SSLSockets</code> will be initially configured to
320 * <i>require</i> client authentication.
321 * <P>
322 * A socket's client authentication setting is one of the following:
323 * <ul>
324 * <li> client authentication required
325 * <li> client authentication requested
326 * <li> no client authentication desired
327 * </ul>
328 * <P>
329 * Unlike {@link #setWantClientAuth(boolean)}, if the accepted
330 * socket's option is set and the client chooses not to provide
331 * authentication information about itself, <i>the negotiations
332 * will stop and the connection will be dropped</i>.
333 * <P>
334 * Calling this method overrides any previous setting made by
|