是否可以使用openssl更改S/MIME内容类型头信息?

是否可以使用openssl更改S/MIME内容类型头信息?,openssl,content-type,Openssl,Content Type,我正试着去证实这一点。我正在使用OpenSSL(当然是打补丁的)使用以下命令生成S/MIME: openssl smime -sign -in CCDA_Inpatient.xml -out signed.msg -signer my.crt -inkey my.key -text 这将生成一封签名电子邮件,开始时如下所示: MIME-Version: 1.0 Content-Type: multipart/signed; protocol="application/x-pkcs7-signa

我正试着去证实这一点。我正在使用OpenSSL(当然是打补丁的)使用以下命令生成S/MIME:

openssl smime -sign -in CCDA_Inpatient.xml -out signed.msg -signer my.crt -inkey my.key -text
这将生成一封签名电子邮件,开始时如下所示:

MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="sha1"; boundary="----405E0406EDC1940F520C0423E0C587FA"

This is an S/MIME signed message

------405E0406EDC1940F520C0423E0C587FA
Content-Type: text/plain
问题在于
内容类型:text/plain
。我需要它是
内容类型:text/xml
——添加一些其他标题也很好。但问题是,当我添加这些其他头时,我从TTT得到一个错误,告诉我我的签名无效,并且

消息摘要属性值与计算值不匹配

这让我相信签名是基于整个部分,而不仅仅是内容

所以基本上我在寻找两种选择中的一种:

  • 是否有任何方法可以使用相同的命令修改标题并保留相同的签名
  • 如何使用实际要生成的消息创建自己的
    smime.p7s
    签名文件

  • 原来是
    -text
    参数。如果您忽略了这一点,那么openssl将把您对它的任何质疑都视为MIME电子邮件(这意味着您可能应该在其上添加一些标题)

    因此,请添加所需的标题,例如:

    CCDA_inspitality.xml

    Content-Type: text/xml
    
    <?xml version="1.0"?>
    <!-- the rest of the document here -->
    
    瞧!您的标题将是您自己的

    openssl smime -sign -in CCDA_Inpatient.xml -out signed.msg -signer my.crt -inkey my.key