# поле crls необязательное в SignedData
if not "crls" in sig1:
sig1["crls"] = []
if not "crls" in sig2:
sig2["crls"] = []
sig1["certificates"] += sig2["certificates"]
sig1["crls"] += sig2["crls"]
sig1["signerInfos"] += sig2["signerInfos"]
合并的签名保存到文件中
der = sigData_to_CryptoMessage_DER(sig1)
with open("both.der", "wb") as file:
file.write(der)
下面是一个简单的 Python 脚本,它从两个签名构建组合签名:
完整版本,包含必要的 ASN 规范、证书和密钥、文件
lorem.md
、签名文件: https://github.com/pakuula/StackOverflow/tree/main/python/1530987编解码器是根据规范构建的
我稍微归档了这份规范,以免
asn1tools
他们落入其中。此外,一切都很简单。文件被解析为
SignedData
标签字段已合并
合并的签名保存到文件中