📄 secure.java
字号:
/*
* This file is part of the QuickServer library
* Copyright (C) 2003-2005 QuickServer.org
*
* Use, modification, copying and distribution of this software is subject to
* the terms and conditions of the GNU Lesser General Public License.
* You should have received a copy of the GNU LGP License along with this
* library; if not, you can download a copy from <http://www.quickserver.org/>.
*
* For questions, suggestions, bug-reports, enhancement-requests etc.
* visit http://www.quickserver.org
*
*/
package org.quickserver.util.xmlreader;
import java.util.*;
/**
* This class encapsulate the setting that help in configuring a secure socket
* based QuickServer.
* The example xml is <pre>
....
<secure>
<enable>true</enable>
<load>true</load>
<port></port>
<protocol>TLS</protocol>
<client-auth-enable>false</client-auth-enable>
<secure-store>
....
</secure-store>
</secure>
....
</pre>
* @see TrustStoreInfo
* @see KeyStoreInfo
* @see SecureStore
* @author Akshathkumar Shetty
* @since 1.4
*/
public class Secure implements java.io.Serializable {
private boolean enable = false;
private boolean load = false;
private int port = -1; //will use servers port
private String protocol = "TLS";
private boolean clientAuthEnable = false;
private SecureStore secureStore = new SecureStore();
/**
* Sets the Secure enable flag.
* If not set, it will use <code>false</code><br/>
* XML Tag: <secure><enable>true</enable></secure>
* Allowed values = <code>true</code> | <code>false</code>
* If enable is set to <code>true</code> load is also set to <code>true</code>.
* @see #getEnable
*/
public void setEnable(boolean enable) {
this.enable = enable;
if(enable==true) {
setLoad(true);
}
}
/**
* Returns the Secure enable flag.
* @see #setEnable
*/
public boolean getEnable() {
return enable;
}
/**
* Returns the Secure enable flag.
*/
public boolean isEnable() {
return enable;
}
/**
* Sets the load flag for SSLContext.
* If not set, it will use <code>false</code><br/>
* XML Tag: <Secure><load>true</load></Secure>
* Allowed values = <code>true</code> | <code>false</code>
* @see #getLoad
*/
public void setLoad(boolean load) {
this.load = load;
}
/**
* Returns the load flag for SSLContext.
* @see #setLoad
*/
public boolean getLoad() {
return load;
}
/**
* Returns the load flag for SSLContext.
*/
public boolean isLoad() {
return load;
}
/**
* Sets the port for the QuickServer to listen on in secure mode.
* If not set, it will run on servers non secure port<br/>
* XML Tag: <port></port>
* @param port to listen on.
* @see #getPort
*/
public void setPort(int port) {
if(port>=0)
this.port = port;
}
/**
* Returns the port for the QuickServer to listen on in secure mode.
* @see #setPort
*/
public int getPort() {
return port;
}
/**
* Sets the protocol for the QuickServer to listen on in secure mode.
* If not set, it will use <code>TLS</code><br/>
* XML Tag: <protocol>TLS</protocol>
* @param protocol to listen on in secure mode.
* @see #getProtocol
*/
public void setProtocol(String protocol) {
if(protocol!=null && protocol.trim().length()!=0)
this.protocol = protocol;
}
/**
* Returns the protocol for the QuickServer to listen on in secure mode.
* @see #setProtocol
*/
public String getProtocol() {
return protocol;
}
/**
* Sets whether the connections which are accepted must include
* successful client authentication.
* If not set, it will use <code>false</code><br/>
* XML Tag: <client-auth-enable>false</client-auth-enable>
* @param enable client authentication enable flag
* @see #getClientAuthEnable
*/
public void setClientAuthEnable(boolean enable) {
this.clientAuthEnable = enable;
}
/**
* Returns whether the connections which are accepted must include
* successful client authentication.
* @see #setClientAuthEnable
*/
public boolean getClientAuthEnable() {
return clientAuthEnable;
}
/**
* Returns whether the connections which are accepted must include
* successful client authentication.
*/
public boolean isClientAuthEnable() {
return clientAuthEnable;
}
/**
* Sets SecureStore information
* XML Tag: <secure-store></secure-store>
* @param secureStore SecureStore information
* @see #getSecureStore
*/
public void setSecureStore(SecureStore secureStore) {
if(secureStore!=null)
this.secureStore = secureStore;
}
/**
* Returns SecureStore information.
* @see #setSecureStore
*/
public SecureStore getSecureStore() {
return secureStore;
}
/**
* Returns XML config of this class.
*/
public String toXML(String pad) {
if(pad==null) pad="";
StringBuffer sb = new StringBuffer();
sb.append(pad+"<secure>\n");
sb.append(pad+"\t<enable>"+getEnable()+"</enable>\n");
sb.append(pad+"\t<load>"+getLoad()+"</load>\n");
if(getPort()!=-1)
sb.append(pad+"\t<port>"+getPort()+"</port>\n");
sb.append(pad+"\t<protocol>"+getProtocol()+"</protocol>\n");
sb.append(pad+"\t<client-auth-enable>"+
getClientAuthEnable()+"</client-auth-enable>\n");
if(getSecureStore()!=null) {
sb.append(getSecureStore().toXML(pad+"\t"));
}
sb.append(pad+"</secure>\n");
return sb.toString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -