- 浏览: 154369 次
- 性别:
- 来自: 西安
文章分类
最新评论
这个文档解释了如何让James 2.1使用传输层安全协议(Transport Layer Security -TLS)加密客户端和服务器端的通信。
使James内部可以获得TLS/SSL服务器Sockets
James
使用Sun Java Secure Sockets Extension (JSSE)基础架构提供TLS/SSL sockets。有几个代理商的
Java发布文件都包括JSSE包(比如 Sun Java 1.4.x,、IBM Java
1.3.x)。对于这些发布文件,请遵照代理商提供的指导 配置JVM使用JSSE服务。
如果你使用的Java发布文件不包含JSSE,你需要再单独下载JSSE包。可以在这里 获得JSSE包。请遵照Sun的指示安装并配置JSSE。
在任何情况下,你都需要静态的定义JSSE TLS的提供者。通常就是默认你安装的那个JSSE。
安装完 JSSE后,需要配置James利用JSSE提供的功能。
证书密钥库
要在James内部使用TLS/SSL你还需要一个证书密钥库。
配置 Server Socket Factory
初始的配置文件中有一个SSL配置的模板。在sockets配置块的server-sockets元素下的注释中包含了一个名为 "ssl"的服务器Socket工厂元素。配置的第一步就是把注释标记去掉。
服务器Socket工厂元素包含几个子元素。 你仅仅有必要调整其中的两到三个子元素。
必需的file元素制定了工厂所用的密钥库的位置,它是一个Unix风格的文件路径。如果制定的不是绝对路径,那么它 就被认为是应用程序安装目录下的apps/james/子目录的相对路径。
password元素是证书库的密码。这个密码应该在创建证书库的时候制定,打开证书库时需要这个密码。这个值是必需的。
最后,还必须调整type元素。这个元素的值可以是JSSE提供者支持的任何密钥库类型(查看JSSE文档中的详细介绍)。 初始的配置是JKS (Java Keystore)。
其余的子元素不需要修改或删除。
配置使用TLS的服务
每个服务 – SMTP、 POP3、 NNTP和 RemoteManager – 都可以支持TLS。这些服务都有一个 可选的布尔类型配置元素useTLS。当这个值设为true时,服务就会用"ssl" 服务器socket工厂创建服务器socket连接。
验证使用TLS的James服务
在你为某个服务配置完成TLS/SSL连接后,这个服务端口应该不再接受不加密的TCP/IP连接。可以用 telnet直接连到该服务端口进行测试,telnet连接应该超时挂起。
为了证实这个服务端口能正确的接受SSL连接,需要一个SSL客户端和这个端口建立连接。 OpenSSL就一个这样的客户端,可以在OpenSSL 网站下载。 遵照SSL客户端的指示创建到服务端口的连接,连接成功后应该能够看到常用的服务问候。
RemoteManager受config.xml文件中的remotemanager配置块
控制。remotemanager标签定义了配置块的边界,它包含所有RemoteManager的相关配置。这个标签的属性或其子标签决定了
RemoteManager的行为。
这个标签有一个可选的布尔属性- enabled -定义了这个服务是否处于活动状态。如果该属性不存在,则取默认值“true”。
remotemanager的标准子标签是:
port – 可选的整型值,配置服务器在哪个端口上监听。如果这个标签或它的值被忽略了,则取默认的端口-4555。
bind – 可选值,描述绑定该服务的IP地址,是一个字符串值。 如果这个标签或它的值没有出现,则该服务将绑定到机器的所有网络接口。
useTLS
-可选的布尔值,如果其值为“true”,使用“ssl”服务器socket接口工厂为这个服务生成服务器socket连接。否则使用“plain”服务
器socket工厂。但无论该值为什么,如果配置文件中存在下面专家配置选项中所讨论的serverSocketType标签,该行为最终都由
serverSocketType标签的值决定。
handler – 这是一个保持向后兼容性的工艺品,它只是将一些相关的参数放到一组中。在将来的版本中这个标签应该会被去掉。
helloName
- 这是一个必需的标签,它的值定义了用于服务启动时的问候语中的服务器名,但它的值是可选的。这个标签可能会有一个可选的属性 -
autodetect。如果autodetect属性存在并且为“true”,则该服务会使用Java库返回的本地主机名。否则就使用该标签的值,在这种
情况下,如果标签的值不存在,那就会用“localhost”。
administrator_accounts
-必需的容器标签,包含一个或更多的administrator_account元素,每个元素都有login属性和password属性。这两个属性分
别对应可以管理员账号的登录id和密码。很明显,出于安全的原因,这些值应该在James安装完成后就进行设置。
connectionTimeout – 取值为非负整型值的可选标签。
remotemanager标签还有几个适用于高级配置的子标签。这些值仅供专家级的系统管理员使用,在这一组中的所有标签都是可选的。
serverSocketFactory – 取值为字符串值的可选标签,如果该标签存在,那它的值必须是一个在socket manager块中说明的服务器socket工厂的名字。其它任何值都将导致一个错误。另外,这个值会使useTLS标签失效。
threadGroup – 取值为字符串值的可选标签,如果该标签存在,那它的值必须是一个在thread manager块中说明的线程组的名字。其它任何值都将导致一个错误。这个标签最好用于在服务之间协调优化线程的分配。
connectionLimit
-
connectionLimit参数说明了该服务所允许的最大客户端连接。如果没有说明任何值,则默认为connectionmanager块中所定义的
值。0表示该服务不对打开的连接数进行任何限制,尽管其它组件(比如线程数的最大值)的资源限制可能会限制能够打开的连接数。
邮件列表mailet需要一个数据仓库来保存订阅者列表。每个邮件列表都有一个单独的数据仓库,并且完全独立于James用来管理e-mail账号的用户数据仓库。这在config.xml文件中的<users-store>配置块中。
使James内部可以获得TLS/SSL服务器Sockets
James
使用Sun Java Secure Sockets Extension (JSSE)基础架构提供TLS/SSL sockets。有几个代理商的
Java发布文件都包括JSSE包(比如 Sun Java 1.4.x,、IBM Java
1.3.x)。对于这些发布文件,请遵照代理商提供的指导 配置JVM使用JSSE服务。
如果你使用的Java发布文件不包含JSSE,你需要再单独下载JSSE包。可以在这里 获得JSSE包。请遵照Sun的指示安装并配置JSSE。
在任何情况下,你都需要静态的定义JSSE TLS的提供者。通常就是默认你安装的那个JSSE。
安装完 JSSE后,需要配置James利用JSSE提供的功能。
证书密钥库
要在James内部使用TLS/SSL你还需要一个证书密钥库。
配置 Server Socket Factory
初始的配置文件中有一个SSL配置的模板。在sockets配置块的server-sockets元素下的注释中包含了一个名为 "ssl"的服务器Socket工厂元素。配置的第一步就是把注释标记去掉。
服务器Socket工厂元素包含几个子元素。 你仅仅有必要调整其中的两到三个子元素。
必需的file元素制定了工厂所用的密钥库的位置,它是一个Unix风格的文件路径。如果制定的不是绝对路径,那么它 就被认为是应用程序安装目录下的apps/james/子目录的相对路径。
password元素是证书库的密码。这个密码应该在创建证书库的时候制定,打开证书库时需要这个密码。这个值是必需的。
最后,还必须调整type元素。这个元素的值可以是JSSE提供者支持的任何密钥库类型(查看JSSE文档中的详细介绍)。 初始的配置是JKS (Java Keystore)。
其余的子元素不需要修改或删除。
配置使用TLS的服务
每个服务 – SMTP、 POP3、 NNTP和 RemoteManager – 都可以支持TLS。这些服务都有一个 可选的布尔类型配置元素useTLS。当这个值设为true时,服务就会用"ssl" 服务器socket工厂创建服务器socket连接。
验证使用TLS的James服务
在你为某个服务配置完成TLS/SSL连接后,这个服务端口应该不再接受不加密的TCP/IP连接。可以用 telnet直接连到该服务端口进行测试,telnet连接应该超时挂起。
为了证实这个服务端口能正确的接受SSL连接,需要一个SSL客户端和这个端口建立连接。 OpenSSL就一个这样的客户端,可以在OpenSSL 网站下载。 遵照SSL客户端的指示创建到服务端口的连接,连接成功后应该能够看到常用的服务问候。
RemoteManager受config.xml文件中的remotemanager配置块
控制。remotemanager标签定义了配置块的边界,它包含所有RemoteManager的相关配置。这个标签的属性或其子标签决定了
RemoteManager的行为。
这个标签有一个可选的布尔属性- enabled -定义了这个服务是否处于活动状态。如果该属性不存在,则取默认值“true”。
remotemanager的标准子标签是:
port – 可选的整型值,配置服务器在哪个端口上监听。如果这个标签或它的值被忽略了,则取默认的端口-4555。
bind – 可选值,描述绑定该服务的IP地址,是一个字符串值。 如果这个标签或它的值没有出现,则该服务将绑定到机器的所有网络接口。
useTLS
-可选的布尔值,如果其值为“true”,使用“ssl”服务器socket接口工厂为这个服务生成服务器socket连接。否则使用“plain”服务
器socket工厂。但无论该值为什么,如果配置文件中存在下面专家配置选项中所讨论的serverSocketType标签,该行为最终都由
serverSocketType标签的值决定。
handler – 这是一个保持向后兼容性的工艺品,它只是将一些相关的参数放到一组中。在将来的版本中这个标签应该会被去掉。
helloName
- 这是一个必需的标签,它的值定义了用于服务启动时的问候语中的服务器名,但它的值是可选的。这个标签可能会有一个可选的属性 -
autodetect。如果autodetect属性存在并且为“true”,则该服务会使用Java库返回的本地主机名。否则就使用该标签的值,在这种
情况下,如果标签的值不存在,那就会用“localhost”。
administrator_accounts
-必需的容器标签,包含一个或更多的administrator_account元素,每个元素都有login属性和password属性。这两个属性分
别对应可以管理员账号的登录id和密码。很明显,出于安全的原因,这些值应该在James安装完成后就进行设置。
connectionTimeout – 取值为非负整型值的可选标签。
remotemanager标签还有几个适用于高级配置的子标签。这些值仅供专家级的系统管理员使用,在这一组中的所有标签都是可选的。
serverSocketFactory – 取值为字符串值的可选标签,如果该标签存在,那它的值必须是一个在socket manager块中说明的服务器socket工厂的名字。其它任何值都将导致一个错误。另外,这个值会使useTLS标签失效。
threadGroup – 取值为字符串值的可选标签,如果该标签存在,那它的值必须是一个在thread manager块中说明的线程组的名字。其它任何值都将导致一个错误。这个标签最好用于在服务之间协调优化线程的分配。
connectionLimit
-
connectionLimit参数说明了该服务所允许的最大客户端连接。如果没有说明任何值,则默认为connectionmanager块中所定义的
值。0表示该服务不对打开的连接数进行任何限制,尽管其它组件(比如线程数的最大值)的资源限制可能会限制能够打开的连接数。
邮件列表mailet需要一个数据仓库来保存订阅者列表。每个邮件列表都有一个单独的数据仓库,并且完全独立于James用来管理e-mail账号的用户数据仓库。这在config.xml文件中的<users-store>配置块中。
发表评论
-
回调hanshu
2018-10-15 23:09 0java callback -
根据类名查找jar包路径
2018-08-12 01:04 860ProtectionDomain pd = StringUt ... -
https
2018-04-20 23:14 01:导出证书用IE的证书工具可以将网站的证书导出。打开网 ... -
mock request
2017-08-20 02:56 0一:postprotected ApplicationCont ... -
使用mockMvc测试文件上传
2017-08-20 01:52 6272@Autowired BanksController bank ... -
java 线程池实现多并发队列后进先出
2017-02-15 00:33 1763java实现线程池多并发队列后进先出 目前默认的队列都是先 ... -
apache ftp server
2017-01-11 22:41 503apache ftp server -
证书制作工具
2016-06-29 23:28 594证书制作工具 -
spring mvc 初始化加载bean
2016-06-15 20:28 1327<context:component-scan bas ... -
Ribbon 和 Eureka 的集成
2016-06-11 00:42 2830Ribbon 是 Netflix 发布的云中间层服务开源项目 ... -
RestTemplate实践
2016-06-11 00:30 890什么是RestTemplate? RestTemplat ... -
@Component(“”)和@resource(name=””)的使用:
2016-06-08 01:24 12177@Component(“”)和@resource(nam ... -
springboot ant部署
2016-06-08 01:03 901springboot ant部署 -
springboot 使用外部tomcat启动
2016-06-05 22:59 1508package sample.xml; import o ... -
swagger 实现文件上传
2016-06-01 22:23 5562@ResponseBody @RequestMa ... -
swagger
2016-06-01 21:18 0import static springfox.docum ... -
java
2016-05-26 01:14 0swagger2.0 -
swagger
2016-05-26 00:32 0spring swagger -
java 域名解析
2016-05-18 23:18 410import java.net.InetAddress;im ... -
swing 模拟文件上传
2016-05-15 17:32 416swing 模拟文件上传
相关推荐
用SVD-TLS估计观测数据的ARMA模型的AR参数,
现代谱估计,运用一组观测数据(随机过程)去估计该数据的功率谱
Mbed TLS is now maintained under open governance at TrustedFirmware.org. Head there for the latest information about the project. The information on this website will be retained while we migrate but ...
使用Ubuntu+freeradius实现802.1X eap-tls双向认证环境搭建
该模块提供了一些方法,这些方法用于还原(并有选择地强制使用) require('tls').DEFAULT_CIPHERS属性,以使用内置的密码列表核心。 const tls_policy = require ( 'tls-cipher-list-policy' ) ; if ( ! tls_...
使用python来解析加密数据包,可通过pycharm安装Scapy-ssl_tls库文件,但库文件经常会安装失败,因此需要考虑直接安装python对应版本的Scapy-ssl_tls库文件
最小估计值,做估计算法的过程并且有很好的对称算法,所以我觉得这个是比较好的学习过程
具体而言,此板条箱在Windows(通过板箱)上使用SChannel,在macOS(通过板条箱)上使用安全传输,在所有其他平台上使用OpenSSL(通过板箱)。 安装 # Cargo.toml [ dependencies ] native-tls = " 0.2 " 用法 一个...
mbedtls-2.0.0-gpl.tgz
嵌入式系统tls架构,mbed-tls-polarssl-1.0.0.tar 欢迎对嵌入式https等加密网络感兴趣的筒子下载学习。
Rust TLS API和实现几个板条箱: tls-api — TLS API,没有任何实现,也没有依赖性tls-api-native-tls —通过板条箱实现TLS API tls-api-openssl —通过板条箱实现TLS API tls-api-rustls —通过板条箱实现TLS API ...
详细介绍了EAP-PEAL 和ESP-TLS的技术原理, 认证流程分析和数据抓包分析。帮助理解该两种认证方式在WLAN网络中的应用,特别有助于排错和问题定位。
安装配置和构建mbedTLS 下载并解压缩 在include / mbedtls / config.h中启用MBEDTLS_THREADING_PTHREAD和MBEDTLS_THREADING_C 使用构建mbedTLS $ cmake -DUSE_SHARED_MBEDTLS_LIBRARY=On .$ make$ sudo make install...
Midea美的_MM-TLS2010面包机_产品使用说明书用户手册参数图解图示pdf电子版下载.pdf
基于Fabric1.4关于fabric-java-sdk实现tls访问,包括了对sdk调用的完整配置,不包含SDK本身。其中图片内容为crypto-config.yaml部分配置内容。其中SANS对应ChaincodeManager中115行的地址。
第 1 章版本和修订初始版本更新证书添加方式,增加资源占用优化手册第 2 章软件包介绍mbedtls 软件包是 RT-Thread 基于 ARMmbed/mbe
WIFI认证之EAP-TLS,已通过调试,可以直接使用。
用于谐波恢复的ESPRIT方法的SVD-TLS的程序实现,并进行了信号的谐波的恢复仿真实验
前端开源库-solid-auth-tlssolid auth tls,用于基于浏览器的实体客户端的身份验证库
将TLS、LMS和约束反Hebbian自学习算法统一起来,指出LMS算法和约束反Hebbian自学习算法是两个特例。研究了TLS自适应学习方法在谐波检测中的应用,并将这种方法推广到三相系统中。所研究的检测方法同时适用于单相和三...