首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android环境下的CSR创建

android环境下的CSR创建
EN

Cryptography用户
提问于 2019-10-03 13:52:20
回答 2查看 663关注 0票数 0

我正试图用安卓系统中的spongyCastle生成一个csr,它必须被提交到一个webservice中。我的问题是,webservice总是抱怨CSR不是DER或PEM格式。另一方面,如果我使用Openssl命令行来生成它,那么webservice就会接受它,所以我知道webservice可以工作,也知道提交它的代码。那么,请一些专家注意到,我通过代码生成的CSR与OpenSSL命令行生成的CSR之间的差异,从公钥中分离出来吗?

由android中的spongyCastle代码创建的

以及由OpenSSL命令行创建的

--开始申请证书

提亚

纳尔逊

编辑:我要感谢所有回复的人。总之,我犯了两个错误。问题应该更像是为什么第一份企业社会责任不被接受,第二份是肯定的。

第二个错误是,这毕竟是没有问题的。只是在构建xml的代码中犯了一个愚蠢的错误,当使用手工生成的CSR时,xml丢失了一个字节。调试900+字符字符串是一件痛苦的事。

再次谢谢大家。

EN

回答 2

Cryptography用户

发布于 2019-10-04 01:54:33

假设您正确发布,您的第二个文件将声明的PEM格式的base64主体作为一行,而不是按要求将其分解/折叠成64个字符(最大)行。见接近尾端的RFC 7468第2条。有些软件对此松懈(包括,有益的是,openssl asn1parse !)但不是全部。我想知道您是否切换了这些文件,因为OpenSSL命令行(和库)总是按照需要使用换行来编写PEM --尽管它可能只在Windows上编写Unix样式的换行符(LF ),而且如果您在像记事本这样的Windows程序中打开这样的文件,它可能会忽略/丢弃LF,并将它作为一个大行来处理,同时wordpad (或typemore)也会正确地显示它。

票数 2
EN

Cryptography用户

发布于 2019-10-03 15:17:03

因此,首先,我们需要解码这两个ASN.1编码的CSR。

如您所见,它们在公钥的值、本地名称(=城镇)、OrganizationalUnit名称(营销与软件)、OrganizationName (Inforpires srl)和末尾的签名上存在差异。

然而,最重要的问题是,它们对不同的属性有不同的排序,据我理解,这违反了解释错误的DER规则。

票数 0
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/74802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档