Возможно, поздно, но это ответ:
Вы можете поместить открытый ключ в Ruby с помощью функции копирования / вставки, но имейте в виду, что для вас похоже на форматирование - это пробел в строке - вы должны убедиться, что полученная строка pem не имеет пробелов. Я просто скопировал и вставил из PEM-файла в код Ruby, и он не работал, пока я не удалил лишние пробелы, которые сопрягали текст или что-либо еще добавленное к строкам.
Трудно показать здесь:
SQS_PUBLIC_KEY = "----- НАЧАТЬ ПУБЛИЧНЫЙ КЛЮЧ -----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs3VeTxEgLQLL11UN2G6c
oQsc0LbpoEs4VTmu0S4XU82N4h / 25XX5k4t5oTJ0JGGSBP4 / gzTwz15vS5mrlnsG
MISSINGLINES
rMV5ZCXToG0VCNPEHpZQnUHMCg / nF9jnk9i1ZZHv2dpYYG7GHMUPG3rtcTWJvZxI
3wIDAQAB
----- КОНЕЦ ОБЩЕСТВЕННОГО КЛЮЧА ----- ". Force_encoding (" us-ascii ")
SQS_PUBLIC_KEY = "-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs3VeTxEgLQLL11UN2G6c
oQsc0LbpoEs4VTmu0S4XU82N4h/25XX5k4t5oTJ0JGGSBP4/gzTwz15vS5mrlnsG
MISSINGLINES
rMV5ZCXToG0VCNPEHpZQnUHMCg/nF9jnk9i1ZZHv2dpYYG7GHMUPG3rtcTWJvZxI
3wIDAQAB
-----END PUBLIC KEY-----".force_encoding("us-ascii")
то есть - НЕ второй - ruby добавляет пробелы в начало каждой строки, а инструменты RSA не игнорируют пробелы - они, похоже, игнорируют только перевод строки.
Я использую ключ копирования / вставки как запасной вариант - другими словами, если установлен ENV, я использую его, в противном случае используйте вставленный открытый ключ.
- Том