none
关于邮件加密问题Smime RRS feed

  • 问题

  • 1. 客户端在使用加密时,是在客户端将邮件加密后发送,还是通过服务器进行加密的?例如:outlook查看脱机通讯录用户信息中的证书内容,然后使用公钥进行加密,发送给服务器。

    2. 使用outlook客户端加密邮件时,客户端如何查询公钥?是通过脱机通讯录查询,还是使用在线查询?(两种情况缓存模式和联机模式)

    3.如果用户证书被吊销,脱机通讯录中还可以查看到用户证书,但是其他用户在发送邮件时会提示证书无效(如图),为什么会有这个现象, 具体是如何工作的?

    4. 当收件人存在多个证书时,如何选择哪个证书对邮件进行加密?

    5. 收件人有多3个证书,其中2个被吊销,此封邮件是如何加密的? 系统或者客户端如何检测用户的2个证书被吊销了?客户检测周期是多久?

    2019年6月19日 1:57

全部回复

  • 您好,

     

    回答您的问题:

     

    1.客户端在使用加密时,是在客户端将邮件加密后发送,还是通过服务器进行加密的?

     

    通过服务器加密。发件人在发送邮件时,从脱机通讯录,收件人的数字证书中检索公钥。使用收件人证书公钥对邮件加密邮。

     

    2.客户端如何查询公钥?是通过脱机通讯录查询,还是使用在线查询?

     

    当Outlook客户端是缓存模式,通过脱机通讯录查询。如果Outlook是在线模式,通过GAL在线查询。

     

    3.如果用户证书被吊销,脱机通讯录中还可以查看到用户证书,但是其他用户在发送邮件时会提示证书无效,为什么会有这个现象,具体是如何工作的?

     

    Outlook缓存模式下更新OAB最多可能需要24小时,因此证书可能会仍在OAB中可见。您可以使用我第一把回复中介绍的删除客户端本地通讯簿缓存文件,重启Outlook强制下载完整的OAB文件方法使Outlook上的OAB立刻更新。

     

    4.当收件人存在多个证书时,如何选择哪个证书对邮件进行加密?

     

    当收件人有多个证书时,Outlook将验证证书是否存储在Active Directory的userSMimeCertificate属性中。在userSMimeCertificate属性被标记为default的证书,则为默认使用的证书。 如果未找到默认证书,则会选择存储的证书中第一个有效证书。如果userSMimeCertificate属性不存储证书,则Outlook将查询Active Directory中的userCertificate属性。

     

    5. 收件人有3个证书,其中2个被吊销,此封邮件是如何加密的?系统或者客户端如何检测用户的2个证书被吊销了?客户检测周期是多久?

     

    Outlook会检索收件人剩下的有效的证书公钥进行加密。系统通过检查证书吊销列表(CRL)检查证书是否被吊销。检查周期可通过CRL中的“Next update”参数进行查看。

     

    为了帮助您更好理解,提供了一些相关链接供您参考:

     

    Understanding Public Key Cryptography 问题1

    Outlook S/MIME certificate selection 问题4

    How Certificate Revocation Works 问题5

    PKI Design Considerations: Certificate Revocation and CRL Publishing Strategies 问题5

    How Certificate revocation list are updated ?  问题5

    此致, 

    Kelvin Deng


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    2019年6月19日 8:53

  • 您好,详细查看这几篇文章后以下几个问题还不是明白:

    1. 文章中没有发现明确说明加密时通过服务器进行的,文章中主要介绍网页版outlook 的交互原理,而没有说明outlook 缓存模式下的加密过程。如果有还请帮忙指出

    2.原第3点。按照您的方法,将通讯簿删除后,仍然可以看到多个用户证书。

    3.原第4点,和第2点的回复有些矛盾,可能文章是基于 outlook web 端进行的说明,因为第2点已经回答客户端使用缓存模式时,是查询脱机通讯录。但我想知道outlook 缓存模式下的选择情况,尤其是和脱机通讯录的相关的内容。

    4.原第5点,实际测试吊销用户全部证书,客户端使用 certutil -urlcache * delete 或 certutil -setreg chain\ChainCacheResyncFiletime @now 命令删除和立即失效,查看用户的邮件签名证书都是有效的。 请问证书服务器crl,是否也有更新周期,在服务器上吊销用户证书的操作并不是实时同步的
    2019年6月24日 7:23
  • 您好,还请帮忙再确认一下,下面的问题
    2019年6月27日 1:16
  • 您好,

     

    让您久等,之前的回复可能不够清楚,回答您的问题,

     

    1.邮件在提交到Exchange邮箱服务器之前就已通过公钥被加密。

    2.证书吊销后仍存在并未删除,您可以尝试将吊销后的S/MIME证书从Outlook客户端和证书CA中删除, 然后手动更新脱机通讯簿。

    3.Outlook 缓存模式下S/MIME证书的选择情况,建议您参考上把回复中问题4的回复以及和问题4有关的文章链接。

    4.关于证书吊销后的更新问题和AD相关,我们对这方面的支持有限,建议您咨询 TechNet Windows Server分论坛。

    此致, 

    Kelvin Deng


    如果以上回复对您有所帮助,建议您将其“标记为答复”. 如果您对我们的论坛支持有任何的建议,可以通过此邮箱联系我们:tnsf@microsoft.com.

    2019年6月28日 2:16
  • 你好, 关于问题4的文章链接已经详细的月读过了,但是和实际生产环境有很大的差别。 个人认为文章中的环境主要是owa或者outlook联机模式,并非缓存模式下证书的选择方式。 如之前所提到的,在缓存模式下用户去查询脱机通讯录并非 AD上的信息。
    2019年7月2日 2:35