![](/img/trans.png)
[英]how to extract in between characters from a group of characters using shell scripting
[英]How to extract public key from a JWKS using openssl library over shell
我從端點獲取 JWKS,它看起來像這樣:
{
"keys": [
{
"kty": "RSA",
"use": "sig",
"x5t": "M2maFm3VYlMBOn3GetVWGXkrKrk",
"kid": "SIGNING_KEY",
"x5c": "MIIC………(base64 encoded cert)………..tow==",
"alg": "RS256"
}
]
}
我正在嘗試使用 shell 和openssl
將此 x5c 值轉換為公鑰( .pub
)文件
我嘗試從上面的 json 復制粘貼x5c
值並通過執行以下操作添加到.pem
文件中:
vi certificate.pem
fold -w 64 certificate.pem
然后在certificate.pem
文件中添加以下內容
-----BEGIN CERTIFICATE-----
<value>
-----END CERTIFICATE-----
在此之后,我嘗試運行以下命令來獲取公鑰:
openssl x509 -pubkey -inform pem -in certificate.pem -noout > key.pub
但收到類似於此的編碼錯誤:
unable to load certificate
140735207381436:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1319:
140735207381436:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:381:Type=X509_CINF
140735207381436:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:tasn_dec.c:751:Field=cert_info, Type=X509
140735207381436:error:0906700D:PEM routines:PEM_ASN1_read_bio:ASN1 lib:pem_oth.c:83:
我搞砸了什么? 謝謝
做的時候
vi certificate.pem
fold -w 64 certificate.pem
您忘記使用折疊內容更新文件,例如
fold -w 64 cert.pem > folded.pem && cat folded.pem > cert.pem && rm folded.pem
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.