android 使用https与服务器进行通信交互
2016-08-12 14:46
513 查看
1、服务器端产生证书过程参考:
http://www.cnblogs.com/SinSay/archive/2010/10/30/1865178.html
过程:
(1)在任意想放置CA数据的地方创建一个目录,这里创建:/root/gsh_ca
(2)在(openssl的安装目录)/etc/pki/CA目录下创建目录、文件:certs、index.txt、newcerts、serial
(3)产生服务器端私钥server.key:openssl genrsa -des3 -out server.key 102
密码同root密码4
上面这个命令会要求输入密码,产生没有密码保护的私钥直接使用命令:openssl genrsa -out server.key 1024
(4)opensslreq -new -key server.key -out server.csr -config /etc/pki/tls/openssl.cnf
执行上面的命令,需要输入以下信息:(信息的输入略)
(5)产生客户端私钥:openssl genrsa -des3 -out client.key 1024
(没有密码保护:openssl genrsa -out client.key 1024)
(6)产生客户端证书:openssl req -new -keyclient.key -out client.csr -config /etc/pki/tls/openssl.cnf
(7)openssl req -new -x509 -keyoutca.key -out ca.crt –config /etc/pki/tls/openssl.cnf
执行上面的命令,需要输入以下信息:(信息的输入略)
(8)openssl ca -in server.csr -out server.crt -cert ca.crt-keyfile ca.key -config /etc/pki/tls/openssl.cnf
遇到的问题:
i. 在(openssl的安装目录)/etc/pki/CA目录下创建目录、文件:certs、index.txt、newcerts、serial
ii. unable to load number from /etc/pki/CA/serial error while loading serialnumber 140534225524640: error:0D066091:asn1encoding routines:a2i_ASN1_INTEGER:odd number of chars:f_int.c:162:
貌似是说序列号是奇数,修改为偶数试试,OK,问题解决
(9)openssl ca -in client.csr -out client.crt -cert ca.crt-keyfile ca.key -config /etc/pki/tls/openssl.cnf
遇到的问题:
i. failed to update database
TXT_DB error number 2
原因:参见http://sech.iteye.com/blog/1144288
解决:清空/etc/pki/CA/ index.txt
2、android 客户端使用https与服务器通信过程参考:
http://blog.csdn.net/raptor/article/details/18896375
http://blog.csdn.net/raptor/article/details/18898937
http://www.2cto.com/kf/201602/490983.html
http://www.cnblogs.com/SinSay/archive/2010/10/30/1865178.html
过程:
(1)在任意想放置CA数据的地方创建一个目录,这里创建:/root/gsh_ca
(2)在(openssl的安装目录)/etc/pki/CA目录下创建目录、文件:certs、index.txt、newcerts、serial
(3)产生服务器端私钥server.key:openssl genrsa -des3 -out server.key 102
密码同root密码4
上面这个命令会要求输入密码,产生没有密码保护的私钥直接使用命令:openssl genrsa -out server.key 1024
(4)opensslreq -new -key server.key -out server.csr -config /etc/pki/tls/openssl.cnf
执行上面的命令,需要输入以下信息:(信息的输入略)
(5)产生客户端私钥:openssl genrsa -des3 -out client.key 1024
(没有密码保护:openssl genrsa -out client.key 1024)
(6)产生客户端证书:openssl req -new -keyclient.key -out client.csr -config /etc/pki/tls/openssl.cnf
(7)openssl req -new -x509 -keyoutca.key -out ca.crt –config /etc/pki/tls/openssl.cnf
执行上面的命令,需要输入以下信息:(信息的输入略)
(8)openssl ca -in server.csr -out server.crt -cert ca.crt-keyfile ca.key -config /etc/pki/tls/openssl.cnf
遇到的问题:
i. 在(openssl的安装目录)/etc/pki/CA目录下创建目录、文件:certs、index.txt、newcerts、serial
ii. unable to load number from /etc/pki/CA/serial error while loading serialnumber 140534225524640: error:0D066091:asn1encoding routines:a2i_ASN1_INTEGER:odd number of chars:f_int.c:162:
貌似是说序列号是奇数,修改为偶数试试,OK,问题解决
(9)openssl ca -in client.csr -out client.crt -cert ca.crt-keyfile ca.key -config /etc/pki/tls/openssl.cnf
遇到的问题:
i. failed to update database
TXT_DB error number 2
原因:参见http://sech.iteye.com/blog/1144288
解决:清空/etc/pki/CA/ index.txt
2、android 客户端使用https与服务器通信过程参考:
http://blog.csdn.net/raptor/article/details/18896375
http://blog.csdn.net/raptor/article/details/18898937
http://www.2cto.com/kf/201602/490983.html
相关文章推荐
- 使用Socket进行一台服务器与多个Android客户端进行双向通信
- 使用java.net进行Android和服务器信息交互
- 使用Socket进行一台服务器与多个Android客户端进行双向通信
- Android使用Https协议与Tomcat服务器进行文件上下传,并将上传的文件上传至HDFS
- 使用 java.io 进行服务器-Android通信
- android使用JSON数据和服务器进行交互
- (android 互联网开发)2 访问https接口,进行数据交互(已在实际项目中使用)
- 使用Json数据进行服务器与android端交互
- Android中使用Json和Xml与服务器进行通信,使用代码发送Get和Post请求,http请求辅助类
- Android入门:通过XML数据与服务器进行通信
- 使用XML与远程服务器进行交互
- android与WEB服务器交互时,如何保证在同一个会话Session中通信
- Android 用Https协议与服务器通信
- Android网络编程(使用socket进行通信)
- 访问https接口,进行数据交互(已在实际项目中使用)
- 2012-04-10 16:32 android与WEB服务器交互时,如何保证在同一个会话Session中通信
- Android网络开发中如何使用JSON进行网络通信---Android JSON数据通讯方法解析
- 使用XML与远程服务器进行交互
- 客户端和应用服务器之间利用HttpClient和Servlet交互JSON对象进行通信
- android与Web服务器交互时的cookie使用