我在 沃通wosign 申请了免费的SSL,然后使用nginx配置好了,一切正常,然后使用移动端调用https的接口,也可以正常使用。
但我使用抓包软件发现,不管是发送的数据还是接收到的数据都是明文的,请问应该怎么加密?
1
mornlight 2015-03-30 01:20:06 +08:00 via Android
如果是正常的安全环境,你抓的https包不会是明文。
不知道你抓包怎么实现的,如果是Fiddler,它会在系统里安装CA,你虽然走https 但其实验证的是Fiddler 提供的证书它能解密。 回答你的问题:如果服务端设置正确,客户端没有信任乱七八糟的CA,你们的https通信就是加密的。 |
2
66CCFF 2015-03-30 02:43:42 +08:00 via iPhone
说不定是因为装了阿里的安全控件
|
3
NewYear 2015-03-30 07:44:29 +08:00 via Android
抓包软件太无辜了 不给你解密https一定很多人问怎么解 解开了你又问如何加密。
抓包只能在本机给你解开 https防的也是中间人不是本机 因为本机再怎样浏览器还是要解密 才能展示给你看啊 抓包软件劫持你的浏览器就可以了 |
4
yaxin 2015-03-30 08:26:41 +08:00
你用的什么抓包软件啊,如果是http debugger pro的话,默认是直接看到https原文的,而且这时候你在浏览器中看一下你网站的证书的话,你会发现不是正确的证书。
|
5
simman OP @mornlight
@66CCFF @NewYear @yaxin 谢谢各位,我再说一下具体环境。 1、证书:沃通wosign 的免费SSL 2、服务器:apache 3、客户端:IOS(使用AFN网络请求) 4、抓包软件:paros for mac 证书配置的应该没错,因为我使用chrome访问是可以正常识别绿色的可信证书的。为了确认不是我的证书的问题、服务器配置问题,我使用的 `v2ex`的 https api 接口,然后进行 3、4,发现也是可以正常抓取明文包的,难道是我对https的理解有误? 其实我想达到的效果就是: 1、安全。 2、不想让别人看到接口传递的明文参数和返回值 还是说如果要实现2的话,我需要单独的把参数进行加密? |
6
Slienc7 2015-03-30 09:30:01 +08:00 via Android
2、不想让别人看到接口传递的明文参数和返回值
你是指不想用户看到吧? 这和https一点关系都没有 |
8
wzxjohn 2015-03-30 09:36:59 +08:00 via iPhone
你使用的這個工具可以通過安裝自簽名證書的方式解密 HTTPS ,仔細看看你的客戶端,是不是你以前調試的時候裝了證書。。。
|
9
Slienc7 2015-03-30 09:42:40 +08:00 via Android
@simman 本机抓包,绝对能看到的,这个和https没什么关系。
就算不用上面说的换了证书抓包,直接浏览器抓包还是能看到,因为https加密过程全在浏览器中进行 只能在页面上另行加密混淆参数,但是达不到绝对加密效果,因为所有代码都是公开的,只能加大工作量 |
10
simman OP |
14
neilp 2015-03-30 13:26:31 +08:00
上个截图吧, 一切都明白了。
|
15
simman OP @wzxjohn
@neilp 感谢已经解决,起始也不是解决,使用 wireshark、charles 抓包可以看到都是加密的了,但是如果使用 paros 进行抓包,IOS会报错: 2015-03-30 14:37:02.478 testsss[3935:652440] error: Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo=0x16571a10 {NSErrorFailingURLKey=https://xxxx.cc/, NSErrorFailingURLStringKey=https://xxxx.cc/, NSLocalizedDescription=cancelled} |