我从traefik tls中检索acme.json,其中traefik存储ssl / tls证书信息。
现在我想用golang将acme.json解组到我的go结构“Traefik”中。但是我不知道如何处理动态/未知的json字段名称,因为和是我在编译时不知道的名称。这些名称应在 go 中动态配置。certificateresolver1certificateresolver2
我知道json的结构(它总是一样的),但不知道证书解析器的字段名称。
有谁知道做到这一点的最佳方法吗?
Traefik acme.json
{
"certificateresolver1": {
"Account": {
"Email": "email@example.com",
"Registration": {
"body": {
"status": "valid",
"contact": [
"mailto:email@example.com"
]
},
"uri": "https://acme-v02.api.letsencrypt.org/acme/acct/124448363"
},
"PrivateKey": "PRIVATEKEY",
"KeyType": "4096"
},
"Certificates": [
{
"domain": {
"main": "example.com",
"sans": [
"test.example.com"
]
},
"certificate": "CERTIFICATE",
"key": "KEY",
"Store": "default"
},
{
"domain": {
"main": "example.org"
},
"certificate": "CERTIFICATE",
"key": "KEY",
"Store": "default"
}
]
},
"certificateresolver2": {
"Account": {
"Email": "email@example.com",
"Registration": {
"body": {
"status": "valid",
"contact": [
"mailto:email@example.com"
]
},
"uri": "https://acme-v02.api.letsencrypt.org/acme/acct/126945414"
},
"PrivateKey": "PRIVATEKEY",
"KeyType": "4096"
},
"Certificates": [
{
"domain": {
"main": "example.net"
},
"certificate": "CERTIFICATE",
"key": "KEY",
"Store": "default"
}
]
}
}
繁星coding
相关分类