Web Brower CSP

Comments

Git Rebase

原文: Git Rebase

git rebase是个非常强大灵活的命令,它可以让你对commit进行修改、调整顺序、合并等操作、并能以线性的方式进行分支的合并与嫁接等。

简单来说rebase就是把某个分支上的一部分commit嫁接到另一个commit后面,而在这个过程中这些commit的base(基)变了,所以这个操作叫做『变基』。

比如我们有如下的提交历史,当前的分支是topic

Read More

Comments

JavaScript RequireJS

Tutorial

Optimizer

FAQ

the require.config() is not parsed by r.js. That configuration is only for runtime. For r.js we need to create another file to configure the paths and other stuff.

See javascript - I am struggling with the requirejs optimizer and non AMD modules - Stack Overflow

Comments

Site Tools

Performance

Tutorial

Comments

Android Adb Commands

To get Android version you can use

1
adb shell getprop ro.build.version.release

to get API level:

1
adb shell getprop ro.build.version.sdk

You can see all available properties with this command:

1
adb shell getprop

See shell - get android OS version of device connected via adb - Stack Overflow

解决adb运行故障:

adb kill-server

看进程, 确保没有其他adb在运行
然后重启eclipse

adb start-server

Eclipse通过无线连接PAD

  1. PAD通过USB连接PC
  2. 在PC上执行adb tcpip 5555
  3. 在PC上执行adb connect ip:5555
  4. 可以使用adb usb从tcp连接切换回usb连接

查看设备

adb shell
cd dev
ls -l ttyU*

adb connect 172.16.3.145:5555

停用跟豌豆荚相关的服务

Comments

Android Cordova Plugin Plugman

如果你使用的是以平台为中心(Platform-centered)的方法开发插件,你需要使用更底层的 Plugman 来管理插件。

Read More

Comments

Android Cordova Config.xml

config.xml

参考:

该文件位于 app/config.xml,当调用 build 时,该文件将会被拷贝到不同的地方:

app/platforms/ios/AppName/config.xml
app/platforms/blackberry10/www/config.xml
app/platforms/android/res/xml/config.xml

Read More

Comments

JavaScript Http Cross Domain

See 详解js跨域问题 - trigkit4 - SegmentFault

什么是跨域?

概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
URL 说明 是否允许通信
http://www.a.com/a.js
http://www.a.com/b.js 同一域名下 允许
http://www.a.com/lab/a.js
http://www.a.com/script/b.js 同一域名下不同文件夹 允许
http://www.a.com:8000/a.js
http://www.a.com/b.js 同一域名,不同端口 不允许
http://www.a.com/a.js
https://www.a.com/b.js 同一域名,不同协议 不允许
http://www.a.com/a.js
http://70.32.92.74/b.js 域名和域名对应ip 不允许
http://www.a.com/a.js
http://script.a.com/b.js 主域相同,子域不同 不允许
http://www.a.com/a.js
http://a.com/b.js 同一域名,不同二级域名(同上) 不允许(cookie这种情况下也不允许访问)
http://www.cnblogs.com/a.js
http://www.a.com/b.js 不同域名 不允许

对于端口和协议的不同,只能通过后台来解决。

Read More

Comments

Android Cordova Data Storage

See Storage - Apache Cordova

Several storage APIs are available for Cordova applications. See html5rocks storage overview and tutorial, for a more complete overview and examples.

Each API offers advantages and disadvantages, which are summarized here. You should choose whichever best suits your needs. You can also use several different approaches within a single application for different purposes.

Read More

Comments

Android Corodova SSL HTTPS

Plugins

wymsee/cordova-HTTP: Cordova / Phonegap plugin for communicating with HTTP servers. Allows for SSL pinning!

See also Secure HTTP

Answer for “Ajax GET request over HTTPS”: javascript - Ajax GET request over HTTPS - Stack Overflow

Tools

DER vs. CRT vs. CER vs. PEM

怎样区别电子证书格式 DER vs. CRT vs. CER vs. PEM » 阿蒙的礼物

证书与编码

本质上,X.509证书是一个数字文档,这个文档根据RFC 5280来编码并/或签发。

实际上,“X.509证书”经常被用来指代IETF的PKIX(Public Key Infrastructure)证书和X.509 v3 证书标准中的CRL(Certificate Revocation List)。

X509 文件扩展名

首先我们要理解文件的扩展名代表什么。DER、PEM、CRT和CER这些扩展名经常令人困惑。很多人错误地认为这些扩展名可以互相代替。尽管的确有时候有些扩展名是可以互换的,但是最好你能确定证书是如何编码的,进而正确地标识它们。正确地标识证书有助于证书的管理。

编码 (也用于扩展名)

  • .DER = 扩展名DER用于二进制DER编码的证书。这些证书也可以用CER或者CRT作为扩展名。比较合适的说法是“我有一个DER编码的证书”,而不是“我有一个DER证书”。
  • .PEM = 扩展名PEM用于ASCII(Base64)编码的各种X.509 v3 证书。文件开始由一行”—– BEGIN …“开始。

常用的扩展名

  • .CRT = 扩展名CRT用于证书。证书可以是DER编码,也可以是PEM编码。扩展名CER和CRT几乎是同义词。这种情况在各种unix/linux系统中很常见。
  • .CER = CRT证书的微软型式。可以用微软的工具把CRT文件转换为CER文件(CRT和CER必须是相同编码的,DER或者PEM)。扩展名为CER的文件可以被IE识别并作为命令调用微软的cryptoAPI(具体点就是rudll32.exe cryptext.dll, CyrptExtOpenCER),进而弹出一个对话框来导入并/或查看证书内容。
  • .KEY = 扩展名KEY用于PCSK#8的公钥和私钥。这些公钥和私钥可以是DER编码或者PEM编码。

CRT文件和CER文件只有在使用相同编码的时候才可以安全地相互替代。

OpenSSL支持几种不同的证书格式。这些证书都是基于DSA或者RSA算法,并被用于公钥加密。

证书的格式取决于它们的应用,因为现在还没有一个证书文件格式的标准。

私钥(Private Key)通常以PEM和DER编码格式出现。相关的文件看起来是下面这样的:

  • pem文件:*key-rsa.pem
  • der文件:key-rsa.der

对于OpenSSL的应用,PEM编码就够用了。对于Java应用,DER编码可能更适合用来导入私钥和证书。

对于数字证书(Certificate),可用的格式有PEM、DER和PKCS12:

  • pem文件:*cert.pem
  • der文件:*cert.der
  • pkcs12文件:*cert.p12

通常,PEM编码用于Unix系统,PKCS12用于微软,而DER用于Java。

数字证书是由ASN.1编码的对象组成的。这些对象可用通过DES(Data Encryption Standard)来加密,也可用通过其他的对称加密算法来加密,例如3DES。

未加密

的PEM文件内容看起来是下面这个样子的:

1
2
3
-----BEGIN CERTIFICATE-----
MB4CGQDUoLoCULb9LsYm5+/WN992xxbiLQlEuIsCAQM=
-----END CERTIFICATE-----

以MB4C… 的字符串是一个Base64编码(Base64-encoded)、ASN.1编码(ASN.1-encoded)的对象。

加密后的文件有一些header来描述加密类型和初始向量:

1
2
3
4
5
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,C814158661DC1449
AFAZFbnQNrGjZJ``/ZemdVSoZa3HWujxZuvBHzHNoesxeyqqidFvnydA==
-----END RSA PRIVATE KEY-----

Proc-Type和DEK-Info声明了加密算法, 以AFAZ…开头的字符串是一个Base64编码(Base64-encoded)、ASN.1编码(ASN.1-encoded)的对象。由于网页浏览器会使用Java应用程序,浏览器会以pkcs12格式导入/导出数字证书,即公钥和私钥会被用PKCS#12算法打包在一个文件中。其他应用程序会要求未打包的PEM编码的公钥和私钥,因此用户必须记住应用程序需要的适当的格

Comments