Azure Key Vault证书x5t值转门户Hex格式的Logic App实现
将Azure REST API返回的x5t证书指纹转换为Azure门户格式(Logic App实现)
问题背景
通过Azure REST API获取SSL证书时,返回结果中的x5t字段存储了证书指纹,但该格式无法直接匹配Azure门户显示的十六进制格式,需要转换后用于写入其他密钥。目前已完成前置操作:补全x5t字段的=字符后,通过base64解码得到二进制数据,需在Logic App中完成二进制到十六进制的转换。
Python参考示例
以下是验证转换逻辑的Python代码:
import base64 # 解码补全后的x5t值并转换为十六进制格式 base64.b64decode('a9gQzwmHiKJ3vHoKhXVTFuMohMX=').hex()
Logic App实现步骤
直接使用Logic App的内置表达式即可完成转换,无需额外连接器:
- 自动补全base64后缀:
x5t字段可能缺少=字符,需先补全以保证base64格式合法 - 二进制转换:用
base64ToBinary()将补全后的x5t转为二进制数据 - 十六进制转换:用
hex()将二进制数据转为Azure门户格式的十六进制字符串
完整表达式示例:
@hex(base64ToBinary(concat(triggerBody()?['x5t'], if(equals(length(triggerBody()?['x5t']) mod 4, 2), '==', if(equals(length(triggerBody()?['x5t']) mod 4, 3), '=', '')))))
内容的提问来源于stack exchange,提问作者devguydavid
相关产品推荐
相关产品推荐

