【发布时间】:2017-10-16 19:05:38
【问题描述】:
我正在处理一个 Web 服务,它以以下格式向客户端发送公钥。
DB2F71B3B998D600946FD47636122256FB9FA10A33A66707133A73CC458B9D90A593C32DD054BCF5CEA430CE512D659D689BD3E61ECCD4B18B3921FF7FB81F0433B9CE995A3DC096A8DD5C3A5F8EC6EB4C0CF1036CDBA0E29F20B54E1F690002A01F29A7BB9622B05835C23EBDF8F1A0D4581C9579B29877F1457053B681DA72A0DD4BF1133B857BEB7C3971416F12D6630F7939DF3C44DFB4555B5A8260134FC3AEB328CF76697367A336E881FE291F860E5E7BE708F9BA7C046632868B17468AC7BD8013032F17BDA9DF9DFF0552B33C8431075BA0936BDFF9E6173EF1901AFE27FD72422EAD6F77059F15BADB4F376F56C1F04D6DB52E509954399DEC28D9:10001
注意 N 和 e 值用冒号 ':' 分隔。
我想使用 OpenSSL::PKey::RSA 来处理公钥,但它只接受 DER 和 PEM 格式的证书。如何将我获得的公钥格式化为 PEM 或 DER 格式证书,供 Ruby 中的 OpenSSL 包装库使用?
编辑:
这个 python 代码基本上完成了我在 Ruby 中尝试做的事情。我正在寻找 RSAPublicNumbers 类的等价物。 https://github.com/jpf/okta-jwks-to-pem/blob/master/jwks_to_pem.py#L40
【问题讨论】:
-
FWIW 最终目标只是加密一个字符串。
-
感谢您提供 Python 链接!那个链接正是我需要的!