gpt4 book ai didi

android - Android 的 X.509 认证

转载 作者:太空狗 更新时间:2023-10-29 12:54:10 26 4
gpt4 key购买 nike

关于我的项目的一点背景:

我正在使用适用于 Android (BouncyCaSTLe) 的 ECDH 实现 SMS 加密程序,我需要通过 SMS 发送我的公钥。功能方面,一切正常,但我对我实现的 X.509 代码有点怀疑。

发送方:

        byte[] pubEnc = aKeyPair.getPublic().getEncoded();
X509EncodedKeySpec pubX509 = new X509EncodedKeySpec(pubEnc);

pubX509 然后被编码成 Base64 并通过短信发送

在接收端:

        KeyFactory          keyFac = KeyFactory.getInstance("ECDH", "SC");
X509EncodedKeySpec pubX509 = new X509EncodedKeySpec(SharedS);
ECPublicKey pubKey = (ECPublicKey)keyFac.generatePublic(pubX509);

接收到的值是 Base64 解码为 SharedS,然后被转换为新的 pubX509

正如我所提到的,在实现方面,这段代码似乎工作正常,但我想知道我是否正确地实现了 X509。

如有任何建议,我们将不胜感激。

最佳答案

Sun(现在的 Oracle)将其称为 X509EncodedKeySpec 的事实仅仅是因为公钥使用更大的 X.509 证书标准中指定的格式进行编码。对于 Internet,X.509 证书的正确实现在 RFC 5280 中指定。 .如您所见,此 RFC 的长度超过 140 页。在整个文档中,这 3 行描述了如何表示公钥:

   SubjectPublicKeyInfo  ::=  SEQUENCE  {
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING }

这是由 Java 类 X509EncodedKeySpec 生成的格式。您可以忽略 X509 标准的所有其余部分,您不必使用证书。

关于android - Android 的 X.509 认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8650151/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com