実行signtool.exe verify /a /v C:\Windows\notepad.exe
中の notepad.exe の署名が にあることがわかりますC:\Windows\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\ntexe.cat
。signtool は、この pe ファイルの署名が存在する場所をどのように認識しますか?
このサインツールの動作を Python で再現しようとしています。カタログ ファイルを取得したら、以下のコードで証明書情報を取得できますが、Windows がファイルをカタログにリンクする方法を確認できません。
import win32com.client
catpath = "C:\\Windows\\system32\\CatRoot\\{F----E}\\nt5.cat"
signedCode = win32com.client.Dispatch('capicom.signedcode')
signedCode.FileName=catpath
signedCode.Verify()
certs = signedCode.Certificates
for cert in certs:
print cert.Archived
print cert.IssuerName
print cert.SerialNumber
print cert.SubjectName
print cert.Thumbprint
print cert.ValidFromDate
print cert.ValidToDate
print cert.Version
しかし、実行可能ファイルが含まれているセキュリティ カタログ ファイルを取得するにはどうすればよいでしょうか。