Android Jellybean使用ca根证书。这些证书命名是基于证书主题的MD5哈希。我想改变它,以便它使用SHA-1而不是MD5。我怀疑的是,显然Apache和谐(Android使用的是),生成与openssl不同的SHA-1哈希。 Android SHA-1实施是否已损坏?
答案 0 :(得分:0)
因此,看起来openssl没有遵循与MD5相同的SHA1约定。 在计算-subject_hash(基于证书的DN的SHA1)时,openssl首先计算DN的CANONICAL表示,然后生成de ASN1。 DER格式基于CANONICAL格式,然后将结果传递给SHA1算法。
您必须修改Apache Harmony代码才能获得与openssl
相同的结果