您的位置:首页 > 理论基础 > 计算机网络

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: