网络ADB调试

打开GX3“开发者选项”发现一个“网络ADB调试”,试用了一些非常方便。

其实任何手机都可以用这个的,一般需要安装一个软件叫“wifi adb”.

一条命令搞定: adb connect 192.168.10.102:5555

Logcat看不到?你先用DDMS试试,如果DDMS有的话切换回JavaEE视图就可以啦~

将cmd命令结果输出到文件

通过telnet连接设备的时候,有时候有些命令的结果特别长,刷了好几个屏幕,这时候就需要打印到文件啦。

感谢 http://linux.101hacks.com/unix/tee-command-examples/ 提供了办法:

Example 1: Write output to stdout, and also to a file

The following command displays output only on the screen (stdout).

$ ls

The following command writes the output only to the file and not to the screen.  打印到文件,这个文件默认存储在telnet对象的当前工作空间

$ ls > file

The following command (with the help of tee command) writes the output both to the screen (stdout) and to the file. 同时显示在命令窗口并打印到文件

$ ls | tee file

BB10安卓软件包给力分享中

很久没折腾BB10了,搞了个GalaxyS3也省得折腾了。这不,又有了机会上手BB10 London,离正式发布也越来越近了,androidPlayer依然是OK的,于是再次折腾下将我GalaxyS3上是应用都转到BB10上。

步骤很简单,就是用GOBackup备份我的GS3,然后把所有的APK都导出来,然后放到我的自动化转制与安装环境啦~

给力分享地址(89个GooglePlay最新版本常用软件): http://pan.baidu.com/share/link?shareid=95598&uk=3808758906

PB2.1依然是可用的,喜欢折腾的PBer们也可以批量安装玩玩。

国内开发移动应用的著名公司

个人整理了一份国内开发移动应用的著名公司,也许对某些人可做个参考:

公司 类型 代表作
腾讯 综合 QQ、微信、QQ音乐、腾讯视频、腾讯微博、QQ游戏等
百度 综合 百度输入法、地图、浏览器、音乐、新闻、奇异视频等
金山 综合 WPS、金山词霸、金山软件系列
360 综合 360软件系列
网易 综合 网易新闻、有道词典、有道笔记等
搜狐 综合 搜狗输入法、搜狐视频
小米 综合 MIUI、米聊等
大众点评 LBS 大众点评
飞信 SNS 飞信、飞聊
新浪 SNS 新浪微博
人人网 SNS 人人网
陌陌 SNS 陌陌
camcard 办公 名片全能王
高德 出行 高德地图
去哪儿网 出行 去哪儿
凯立德 出行 凯立德导航
图吧 出行 图吧导航
阿里巴巴 购物 淘宝、支付宝
UC 浏览器 UC浏览器
海豚 浏览器 海豚浏览器
优酷 视频 优酷视频
PPTV 视频 PPTV

关于电子证书的个人疑问与理解

  1. 1.     个人能否制作CA认证的电子证书?

不能。因为只有CA有CA认证的私钥,别人没有;个人只能制作你个人认证的电子证书,除非你能够破解这个私钥。

  1. 2.     个人能否安装非官方认证的电子证书?

可以,但是必须得到你个人的确认。如果不是操作系统预置认可的机构颁发的证书,操作系统会提示,你必须先安装颁发机构的证书,然后再安装客户证书。非官方认证的电子证书一般用于公司或者团体使用。

  1. 3.     如何既方便又安全的使用电子证书用于保密通信?

首先设备必须预置安全可靠的证书颁发机构;其次,不用随意安装“根证书”,即颁发者证书,除非是你认可的。

服务器可以生成证书(带公钥)供设备下载,而证书颁发机构就是设备预置的机构。

  1. 4.     WAPI中证书是怎么做的?

证书是由AS(Authentication Server)生成的,这边的AS就像CA,是一个证书颁发机构。

AS的私钥自己留着,它的作用是签名自己的证书和颁发出去的证书。

对于颁发出去的客户证书,因为也带了AS的签名,所以AS可以鉴权颁发出去的客户证书。

这样UE和AP就可以通过一个都信任的AS作为中介,每次鉴权的时候,可以通过响应中的AS签名来识别,从而,建立相互信任关系。

AS在颁发证书的时候,也给每个证书附带了privatekey,这个私钥就是用来做用户签名用的,能够标识一个用户的唯一身份,也会在鉴权的时候使用(确定身份?用于确认是否该证书已被吊销?)

后来的通信呢,UE和AP都是基于对等的加密手段进行。

(1)  如果AS1和AS2名称一样,能够互相验证吗?

应该不行才对,因为他们的私钥不同,签名也应该不同。
在安全通信上,要时刻记住:只有签名(包括数字签名)是可靠的,因为它是不可逆的!!!
而能够被编辑的为相同“名字”,是不可靠的!即使看上去是对的,但他是山寨的!
就像你无法去山寨CA的证书一样。

(2)  AS颁发2个证书,如果名字相同,证书内容是否一样?
其实还是一样的道理,为了保证签名的不可逆,每次签名后的数据肯定也是唯一的。

5.     支付宝、银行证书是怎么做的? 看图: http://upload.wikimedia.org/wikipedia/commons/9/96/Usage-of-Digital-Certificate.svg

支付宝/银行先生成一个公钥私钥对,然后用公钥去向CA申请认证,CA确认身份后给他们颁发一个CA认证签名的证书,然后他们用这个证书加上他们的私钥再去生成客户证书。

由于他们的证书得到了CA的认证,所以能够被客户端所接受;他们分发的证书也能够被安装。

分发公钥证书的时候,他们用的是带密码的证书格式(PKCS,不带密码的是PEM),这样可以保证只有拥有密码的用户才能安装属于他们自己的证书。所以在支付宝安装的时候,需要通过手机号进行验证;银行证书安装的时候,需要插入一个USB卡或者需要输入申请的密码。 证书安装成功后,就建立了一个安全的通道(本地的证书和服务器上带私钥的匹配),后续的流程,都是对等加密方式。

6。  应用开发者证书怎么实现?

证书的签发机构CA变成了应用平台商,比如Google、apple、RIM。开发者在本地创建私钥公钥对,然后向平台商注册,得到一个个人信息文件。然后将公钥和个人信息文件(CSR)提交给平台商,得到一个带认证签名的证书。然后应用开发者就可以使用这个证书(+自己的私钥)对应用进行签名,而客户就可以安装这个签名过的应用了。

总结:———————————————–

根证书和用户证书的作用?
根证书(私钥在颁发者那,公钥在证书中)是用来验证用户证书(带私钥和公钥)中的颁发者签名,是否由它所颁发;
用户证书则用来标识自己的可信性,不是冒牌货,由服务器使用,加上服务器自己的签名后生成客户证书;
客户证书则用来与服务器进行安全通信。

WAPI: AP/UE: 根证书 + 用户证书

开发者: 根证书 + 用户证书

银行: 根证书 + 用户证书
用户: 根证书 + 客户证书

数字证书原理

对于数字加密技术一直停留在“对称加密”的理解上,这次学习WAPI,才发现有个“非对称加密”的概率,然后就有了“数字证书”之类常见而不理解的东西出来。

找到一篇《数字证书原理》,把“数字证书”、“签名”、“公钥加密”解释的非常清楚,无恙:http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html。 当然其中还是欠缺一些东西,比如网购如何去防止黑客套密,我觉得最关键的还是使用正规的软件和浏览器,否则所有的安全策略都无法起作用。对于大众来说,也不需要去理解这些技术概念。

阅读更多数字证书原理

初识WAPI

WAPI其实就是一种WLAN(无线局域网)的认证标准。当你的设备连接WiFi时或者设置无线路由器时,有时候你会设置加密方式,比如WEP和WPA/WPA2,而WAPI就是类似这样的东西。

当然,要搞清楚WAPI和WIFI的关系还是有点复杂的,我的理解大概是这样的:

首先WiFi(Wireless Fidelity无线保真)其实是一个联盟,也称802.11i工作组,定义了WLAN认证和安全标准,比如第一代的WEP(不建议使用,容易被破解)和之后的WPA/WPA2;WAPI(WLAN Authentication and Privacy Infrastructure无线局域网鉴权和加密基础系统)也是一个联盟,不过它的名字和它的标准是一样滴。不同的在于,它是中国提出的标准,并且是当前中国手机入网的必备条件。在技术上,它比WiFi联盟提出的认证方式有一定的安全性优势,但是由于WiFi的芯片都是美国控制的,并且已经成为了事实上的标准,所以WAPI已经成为了一种摆设。

废话少说,下面开始详细谈技术,先看看百度文库上的几篇好文章:

WAPI协议详解:http://wenku.baidu.com/view/4ffb376348d7c1c708a145a1.html

WAPI培训PPT:http://wenku.baidu.com/view/341f8f4769eae009581bec16.html

WAPI技术白皮书:http://wenku.baidu.com/view/f7d6b2b069dc5022aaea0029.html

WAPI技术概述:http://wenku.baidu.com/view/0ac1d118964bcf84b9d57b89.html

Python采集网页数据保存到excel

今天开始整理写过的Python代码,同时共享出来,需要对大家有帮助。

今天共享的是通过Python采集网页上的数据,然后保存到Excel。思路很简单,用urllib读取网页,然后用Py-excel写excel。

import urllib
from xlwt import Workbook
import datetime

def FetchData():
    book = Workbook(encoding='gbk')    #如果采集数据有中文,需要添加这个 
    sheet1 = book.add_sheet('Sheet 2') #表格缓存 

    i = 0
    theday = datetime.date(2009,12,31)
    while i < 100: #这边的场景就是采集100个网页,每个网址都包含日期 
        i += 1
        theday = theday + datetime.timedelta(days = 1)
        print theday
        theday_str = str(theday)
        sheet1.write(i,0,theday_str)  #写表格 
        check_url = r'http://www.xxx.com/index?date=' + theday_str #网页地址
        try:
            checkfile = urllib.urlopen(check_url)  #网页保存为文本文件 
        except Exception,e:
            print e
            return

        type = sys.getfilesystemencoding()
        for line in checkfile:
            line = line.decode("UTF-8").encode(type)     #网页编码为UTF-8 
            date_west = getdata('date_west', line)       #获取特定数据 
            if date_west != False:
                sheet1.write(i,1,date_west)

    book.save('simple.xls')  #保存excel文件 
    print 'finish!'

'if keywords in the line, get data from > to </'
def getdata(keywords, line):
    data = ''
    if keywords in line:
        start = line.find('>',)
        end = line.find('</', start)
        data = line[start+1:end]
        return data
    return False