Ruby OpenSSL::X509::CertificateError:嵌套asn1错误

Ruby OpenSSL::X509::CertificateError:嵌套asn1错误,ruby,openssl,Ruby,Openssl,我正在尝试将字符串转换为ruby中的rsa公钥 str = "some string" OpenSSL::X509::Certificate.new("-----BEGIN CERTIFICATE-----\n#{str}\n-----END CERTIFICATE-----") 我在我的系统中执行,它工作正常,但当我尝试在远程服务器上执行时,抛出错误OpenSSL::X509::CertificateError:嵌套asn1错误。我甚至更新了我的openssl版本,它的openssl 1.0

我正在尝试将字符串转换为ruby中的rsa公钥

str = "some string"
OpenSSL::X509::Certificate.new("-----BEGIN CERTIFICATE-----\n#{str}\n-----END CERTIFICATE-----")

我在我的系统中执行,它工作正常,但当我尝试在远程服务器上执行时,抛出错误OpenSSL::X509::CertificateError:嵌套asn1错误。我甚至更新了我的openssl版本,它的openssl 1.0.2o验证您的输入字符串是否没有回车符。我遇到了这个问题,将所有“\r\n”换行符替换为“\n”就解决了这个问题。

PEM使用
\r\n
。如果遇到无法使用
\r\n
的库,则可能需要提交错误报告。另请参阅第9节描述语法和第4.3.1节约束。您的证书格式不正确。PEM使用
\r\n
。另请参见第9节描述语法和第4.3.1节约束。一旦您修复了行的结尾,
“some string”
应该无法解析。认证数据需要ASN.1编码,而不是ASCII字符串。