import win32com.client
store = win32com.client.Dispatch('CAPICOM.Store')
# 打开证书存储区
# 2 -> CAPICOM_CURRENT_USER_STORE
# 0 -> CAPICOM_STORE_OPEN_READ_ONLY
store.Open(2, "My", 0)
# 查找有效证书
# 12 -> CAPICOM_CERTIFICATE_FIND_KEY_USAGE
# 0x00000080 -> CAPICOM_DIGITAL_SIGNATURE_KEY_USAGE
# 9 -> CAPICOM_CERTIFICATE_FIND_TIME_VALID
# 6,6 -> CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY,CERT_KEY_SPEC_PROP_ID
stores = store.Certificates.Find(12,0x00000080).Find(9).Find(6,6)
stores = store.Certificates.Find(0,szThumbprint) # szThumbprint -> 按缩略图查询
# 0 -> CAPICOM_CERTIFICATE_FIND_SHA1_HASH
# 找到证书计数
stores.Count
# 获取证书信息
for data in stores:
data.GetInfo(0) # 颁发给
data.GetInfo(1) # 颁发者
data.GetInfo(2) # 主题(E) Email