- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
An droid 中的签名机制
7C=CN/ST=ShanDao/L=QingDao/O=Haiei7OU=Haiei7CN=Haier/emailAddress=Haier'
时请注明岀处和作者联系方式
文章出处:./blog
作者联系方式:先静 vxianjimli at hotmail dot >
昨天看了一下 Android中的签名机制,这里介绍一下 Android中签名用的Key的产生方法和签名的原理。
产生Key
o 产生 RSA 私钥(private key)
openssl genrsa -3 -out testkey.pem 2048
-3 是算法的参数(public exponent )。
2048是私钥长度。
testkey.pem 是输出的文件。
o产生PKCS#10格式的认证请求。所谓认证请求就是发给认证机构认证的一个请求,它主要包括一个公 钥和一些相关信息(如组织名称和联系人地址)。
openssl req -new -x509 -key testkey.pem -out testkey.x509.pem -days 10000 /
-subj ‘ /C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=androidandroid. '
如果不提供最后两个参数,openssl会提示你输入相关信息,这里的信息可以根据你自己的实际情况填写。
如:
openssl req -new -x509 -key testkey.pem -out testkey.x509.pem -days 10000
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘. ' , the field will be left blank.
Country Name (2 letter code) [GB]:CN
State or Province Name (full name) [Berkshire]:GuangDong
Locality Name (eg, city) [Newbury]:ShenZhen
Organization Name (eg, company) [My Company Ltd]:Topwise
Organizational Unit Name (eg, section) []:Broncho
Common Name (eg, your name or your server ' s hostname) []:
Email Address []:bronchosalesgmail.
o 把私钥的格式转换成 PKCS #8 ( Private-Key Information Syntax Standard. )
openssl pkcs8 -in testkey.pem -topk8 -outform DER -out testkey.pk8 -nocrypt
私钥是不能让别人知道的,否则就起不到的作用了。私钥通常是要加密保存的,但这里指定了 -nocryp,表
示不加密。
Android提供了一个脚本mkkey.sh用来简化上面的步骤:
if ["$1" == ""]; then
echo "Create a test certificate key."
echo "Usage: $0 NAME"
echo "Will generate NAME.pk8 and NAME.x509.pem"
echo " /C=US/ST=California/L=Mountain
View/O=Android/OU=Android/CN=Android/emailAddress=androidandroid."
return
fi
openssl genrsa -3 -out $1.pem 2048
openssl req -new -x509 -key $1.pem -out $1.x509.pem -days 10000 /
-subj '/C=US/ST=Califor
文档评论(0)