PublicKey.load_pkcs1 для Java - PullRequest
       5

PublicKey.load_pkcs1 для Java

0 голосов
/ 13 сентября 2018

Я хочу загрузить открытый ключ PEM для шифрования значения. В Python я бы просто использовал функцию более высокого уровня, например PublicKey.load_pkcs1. Я нигде не могу найти такую ​​функцию для Java / Scala.

Доступно ли такое или мне нужно переопределить после реализации Python?


EDIT:

Содержание:

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

1 Ответ

0 голосов
/ 14 сентября 2018

Сделать эту работу довольно просто. Вам нужно только вызвать Python-скрипт из Scala, например:

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...