Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Python µ÷ÓÃCAPICOM ¶ÁÈ¡ USB KEYÊý×ÖÖ¤Êé

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
    data.GetInfo(3) # ''
    data.GetInfo(4) # Ö÷ÒªÃû³Æ= RFC822 Name=
    data.GetInfo(5) # ''
    data.GetInfo(6) # Ö÷Ìâ(CN)
    data.GetInfo(7) # °ä·¢Õß
    data.Thumbprint # ËõÂÔͼ
»òÕß
stores.Item(idx).GetInfo(idx2) # idx 1-stores.Count
# idx2 0-7
# Ö¤ÊéÑ¡Ôñ
selCert = soters.Select()
selCert.GetInfo(0-7)
selCert.Thumbprint
# Êý¾ÝÇ©Ãû
SignedData = win32com.client.Dispatch('CAPICOM.SignedData')
Signer = win32com.client.Dispatch('CAPICOM.Signer')
TimeAttribute = win32com.client.Dispatch('CAPICOM.Attribute')
SignedData.Content = 'Test' # Ç©ÃûÄÚÈÝ
Signer.Certificate = ret.Item(1) # Ñ¡ÔñµÄÖ¤Êé
TimeAttribute.Name = 0 # 0 -> CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME
import datetime
TimeAttribute.Value = datetime.datetime('2010-04-22')
Signer.AuthenticatedAttributes.Add(TimeAttribute)
szSignature = SignedData.Sign(Signer, True, 0) # 0 -> CAPICOM_ENCODE_BASE64
# Ç©ÃûУÑé
SignedData.Content='Test';
SignedData.Verify(szSignature, true, 1); # 1 -> CAPICOM_VERIFY_SIGNATURE_AND_CERTIFIC


Ïà¹ØÎĵµ£º

python timeÄ£¿éÏê½â

 python µÄÄÚǶtimeÄ£°å·­Ò뼰˵Ã÷
 
Ò»¡¢¼ò½é
  timeÄ£¿éÌṩ¸÷ÖÖ²Ù×÷ʱ¼äµÄº¯Êý
  ˵Ã÷£ºÒ»°ãÓÐÁ½ÖÖ±íʾʱ¼äµÄ·½Ê½:
       µÚÒ»ÖÖÊÇʱ¼ä´ÁµÄ·½Ê½(Ïà¶ÔÓÚ1970.1.1 00:00:00ÒÔÃë¼ÆËãµÄÆ«ÒÆÁ¿),ʱ¼ä´ÁÊÇΩһµÄ
       µÚ¶þÖÖÒÔÊý× ......

Python³£ÓÃÄ£¿éÏÂÔØÁ´½Ó

Python http://www.python.org/download/ wxPython http://www.wxpython.org/download.php#binaries Vpython http://vpython.org/contents/download_windows.html Matplotlib http://sourceforge.net/projects/matplotlib/files/matplotlib/ PyGlet http://www.pyglet.org/download.html PyGame http://www.pyga ......

pythonдµÄ½«Ò»Ð©ÀàÐ͵ÄÎļþѹËõΪ7z¸ñʽ

#½«Ò»Ð©ÀàÐ͵ÄÎļþѹËõΪ7z.py
#for folder all file do 7z
import os
import sys
import distutils.file_util
def ImportOkFile():
    if(os.path.isfile("D:\\Records\\½«Ò»Ð©ÀàÐ͵ÄÎļþѹËõΪ7z_record.txt")==False):
        f=open("D:\\Reco ......

PythonÒì³£´¦ÀíÌåϵ¼ò½é

PythonÄÚ½¨Òì³£Ìåϵ½á¹¹
BaseException
+--¡¡SystemExit
+--¡¡KeyboardInterrupt
+--¡¡GeneratorExit
+--¡¡Exception
+--¡¡StopIteration
+--¡¡StandardError
|¡¡¡¡¡¡¡¡+--¡¡BufferError
|¡¡¡¡¡¡¡¡+--¡¡ArithmeticError
|¡¡¡¡¡¡¡¡|¡¡¡¡¡¡¡¡+--¡¡FloatingPointError
|¡¡¡¡¡¡¡¡|¡¡¡¡¡¡¡¡+--¡¡OverflowError
|¡¡¡¡ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ