В журнале CAPI2 я вижу несколько CertVerifyRevocation
события, которые имеют место TvoCache
и некоторые, у которых есть местоположение UrlCache
для подтверждения того же сертификата:
<Event>
<UserData />
<CertVerifyRevocation>
<Certificate fileRef="AC815F8FCDE5524771442A0F619A04DA00C8728D.cer" subjectName="Kaiblinger Harald" />
<IssuerCertificate fileRef="410DE74321872F90A43E4969C3224A987EDED648.cer" subjectName="Siemens Issuing CA EE Enc 2016" />
<Flags value="4" CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG="true" />
<AdditionalParameters timeToUse="2020-05-05T13:42:48.510Z" currentTime="2020-05-05T13:42:48.510Z" urlRetrievalTimeout="PT19.570S" />
<RevocationStatus index="0" error="0" reason="0" actualFreshnessTime="P2DT3H33M56S" thirdPartyProviderUsed="C:\Windows\SysWOW64\cryptnet.dll" />
<CertificateRevocationList location="TvoCache" url="http://ch.siemens.com/pki?ZZZZZZA3.crl" fileRef="A045197D2F9D422F5C163D1F420798D1DD4927C8.crl" issuerName="Siemens Issuing CA EE Enc 2016" />
<EventAuxInfo ProcessName="OUTLOOK.EXE" />
<CorrelationAuxInfo TaskId="{A7973502-62E3-4973-8DEE-519E95942DAD}" SeqNumber="16" />
<Result value="0" />
</CertVerifyRevocation>
</UserData>
</Event>
и
<Event>
<UserData>
<CertVerifyRevocation>
<Certificate fileRef="AC815F8FCDE5524771442A0F619A04DA00C8728D.cer" subjectName="Kaiblinger Harald" />
<IssuerCertificate fileRef="0A9B014FA2E69AB97F6B54B8C07C07B66FA2AA64.cer" subjectName="Siemens Issuing CA EE Enc 2016" />
<Flags value="4" CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG="true" />
<AdditionalParameters timeToUse="2020-05-05T13:42:48.510Z" currentTime="2020-05-05T13:42:48.510Z" urlRetrievalTimeout="PT20S" />
<RevocationStatus index="0" error="0" reason="0" actualFreshnessTime="P2DT3H33M56S" thirdPartyProviderUsed="C:\Windows\SysWOW64\cryptnet.dll" />
<CertificateRevocationList location="UrlCache" url="http://ch.siemens.com/pki?ZZZZZZA3.crl" fileRef="A045197D2F9D422F5C163D1F420798D1DD4927C8.crl" issuerName="Siemens Issuing CA EE Enc 2016" />
<EventAuxInfo ProcessName="OUTLOOK.EXE" />
<CorrelationAuxInfo TaskId="{A7973502-62E3-4973-8DEE-519E95942DAD}" SeqNumber="8" />
<Result value="0" />
</CertVerifyRevocation>
</UserData>
</Event>
Я не могу найти никакой документации о разнице. Может кто-нибудь объяснить разницу?
ТВ здесь означает Time Valid Object
, мы можем найти ссылки на TVO в этой документации: CryptGetTimeValidObject (Wincrypt.h / Cryptnet.dll)
Функция CryptGetTimeValidObject извлекает CRL, ответ OCSP или объект CTL, действительный в заданном контексте и времени.
Библиотека динамической компоновки Cryptnet реализует кэш допустимых по времени объектов (TVO), который используется для поддержки функции CryptGetTimeValidObject. Кэш используется глобальным агентом TVO [...]
Агент TVO поддерживает получение объектов TVO по запросу или с помощью автоматического обновления.
Хотя это не документация по упомянутым вами событиям, я думаю, можно с уверенностью предположить, что это просто означает, что CRL был найден в кэше TVO.