gpt4 book ai didi

php - ASN.1 编码例程 :OPENSSL_internal:WRONG_TAG

转载 作者:行者123 更新时间:2023-11-30 00:29:55 30 4
gpt4 key购买 nike

这个错误是什么意思:

java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: error:0c0000b9:ASN.1 encoding routines:OPENSSL_internal:WRONG_TAG

我的代码是:

public static byte[] encryptByPublicKey(byte[] data, String key)
throws Exception {

key = key.replace("-----BEGIN RSA PUBLIC KEY-----\r\n", "").replace("-----END RSA PUBLIC KEY-----", "");

byte[] bytes = decryptBASE64(key);
X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(bytes);

KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);
PublicKey pkPublic = keyFactory.generatePublic(x509KeySpec);

Cipher pkCipher = Cipher.getInstance("RSA");
pkCipher.init(Cipher.ENCRYPT_MODE, pkPublic);

return pkCipher.doFinal(data);
}

我确定,我有正确的数据和 key (在 php 中创建的),但我得到了这个错误:

        PublicKey pkPublic = keyFactory.generatePublic(x509KeySpec);

我在我的其他 android(没有 php 服务器)应用程序中使用此代码没有任何问题,并且我通过相同的加密/解密代码得到了正确的答案。

是否有可能在两个项目中使用一个功能,在同一个软件中,具有相同的输入和输出值,具有不同的操作?是的!有可能,但是 Android Studio 和 Phpstorm 怎么样?是关于 Openssl cer.?或其他图书馆?还是其他一些原因?我怎样才能克服这个错误?

如果你能帮助我,我将不胜感激。预先感谢您的回答。

最佳答案

请检查 key 字符串,可能包含非法的Base64字符:“\n”、“\t”或\s等,删除它们并重试!

关于php - ASN.1 编码例程 :OPENSSL_internal:WRONG_TAG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44616565/

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