RSA/ECB/nopadding В GO

Необходимо расшифровать 128байтный слайс информации зашифрованный с помощью публичного ключа. Приватный ключ имеется , имеется также механизм расшифровки в Java :

Cipher rsaCipher = Cipher.getInstance("RSA/ECB/nopadding");
rsaCipher.init(Cipher.DECRYPT_MODE, client.getRSAPrivateKey()); 

В Golang пробовал:

rsa.DecryptOAEP(sha256.New(), rand.Reader,client.PrivateKey,plainText,[]byte("")) 

privateKey.Decrypt()

И другие способы но не получается расшифровать. Подскажите что нужно делать ?


Ответы (1 шт):

Автор решения: Denis Stein

Если заглянуть в исходники функции rsa.DecryptOAEP и далее k := priv.Size() то не трудно догадаться,что длинна битов открытого ключа меньше шифротекста, но почему то я думаю, что дело в закрытом ключе,а точнее в его импорте в Вашу программу.

Как пример:

priv, err := ioutil.ReadFile(pathToKey)
    if err != nil {
        // handling err
    }

    privPem, _ := pem.Decode(priv)
→ Ссылка