公钥。load_pkcs1 Java

PublicKey.load_pkcs1 for Java

我正在寻找加载 PEM public 密钥来加密值。在 Python 中,我只会使用更高级别的函数,例如 PublicKey.load_pkcs1。我在任何地方都找不到 Java/Scala 这样的函数。

在 Python 实施后是否可用,或者我是否需要重新实施?


编辑:

内容为:

-----BEGIN RSA PUBLIC KEY-----
...
-----END RSA PUBLIC KEY-----

完成这项工作非常简单。 您只需要像这样从 Scala 调用 Python 脚本:

val encryptedValue: String = Seq("python3", "foobar.py", pemKey, value).!!

在 Python 中,您可以通过以下方式简单地实现 PKCS1 读取:

import base64
import rsa
import sys

pemKey = sys.argv[1]
value = sys.argv[2]
pk = rsa.PublicKey.load_pkcs1(bytes(pemKey, 'utf-8'))
encrypted = base64.b64encode(
    rsa.encrypt(value.encode('utf-8'), pk)).decode('utf-8')
print(encrypted)