求Linux下Perl/C与Java11 java.security RSA加密交互的可行示例
问题:Linux环境下用Perl/C对接Java 11 RSA公钥加密的可行方案?
Java 11的安全文档仅描述了接口规范,未明确指定RSA加密等操作的默认算法。目前需要在Linux服务器上实现可对接Java 11 java.security模型的RSA公钥加密代码。
已知Java使用PKCS v2.2填充,大概率搭配SHA256哈希算法,但官方未给出明确说明。Oracle官网仅提供Java内部对接java.security的示例,网上相关内容要么过时,要么未涉及非Java语言的对接方法。
遇到的具体问题:
- Perl的
Crypt::PK::RSA基于TomCrypt实现,仅支持v1.5密钥填充,与Java的v2.2不兼容;尝试过该库所有v1.5、OAEP选项(搭配SHA1/SHA256),并通过unpack H*/unpack h*做高低字节序转十六进制处理,仍无法复现Java生成的密文十六进制输出。 - 使用OpenSSL和TomCrypt(通过
Crypt::PK::RSA)生成的密钥对,Java无法读取,甚至无法生成可用的测试临时密钥。
需求:
求Linux环境下,用Perl或C对接Java 11 java.security进行RSA公钥加密的可行示例;或提供可与Java 11兼容的库参考,哪怕是独立的C语言PKCS v2.2 RSA加密实现,也可以尝试整合到TomCrypt中使用。
内容的提问来源于stack exchange,提问作者lembark
相关产品推荐
相关产品推荐

