def waitForCard(): reader = None my_reader = configManager.configManager().getOption('Options','reader') my_driver = configManager.configManager().getOption('Options','driver') if my_reader != "Auto": reader = pypassport.reader.ReaderManager().waitForCard(5, my_driver, my_reader) else: reader = pypassport.reader.ReaderManager().waitForCard() return reader
def waitForCard(): reader = None my_reader = configManager.configManager().getOption('Options', 'reader') my_driver = configManager.configManager().getOption('Options', 'driver') if my_reader != "Auto": reader = pypassport.reader.ReaderManager().waitForCard( 5, my_driver, my_reader) else: reader = pypassport.reader.ReaderManager().waitForCard() return reader
def importCertificate(self): directory = askdirectory(title="Certificates (*.cer) directory", mustexist=1) if directory: directory = str(directory) try: CA = pypassport.camanager.CAManager(directory) CA.toHashes() configManager.configManager().setOption("Options", 'certificate', str(directory)) tkMessageBox.showwarning("Import Certificate", 'All present certificates have been imported!') except Exception, msg: tkMessageBox.showwarning("Error: Importing certificates", msg)
def __init__(self, parent, controller): Frame.__init__(self, None) self.parent = parent self.controller = controller self._doc = None self.t = None self.passportNo = StringVar() self.dob = StringVar() self.doe = StringVar() self.stop = BooleanVar() self.stop.set(False) self.pack() ## MRZ ## self.mrzFrame = Frame(self, relief=RAISED, bd=1) self.mrzFrame.pack(fill=BOTH, expand=True) self.createMRZ() ## VIEWER ## self.viewerFrame = Frame(self, relief=RAISED, borderwidth=1) self.overview = overview.Overview(self.viewerFrame, self) self.overview.pack(fill=BOTH, expand=True, anchor=CENTER) self.footer = toolbar.StatusBar(self.viewerFrame) self.footer.pack(fill=BOTH, expand=True, anchor=CENTER) self.footer.set("Version %s", VERSION) self.currentFrame = self.viewerFrame self.currentFrame.pack(fill=BOTH, expand=1) ## ATTACKS ## self.attacksFrame = Frame(self, borderwidth=1) self.attacksFrameTest = attacks.AttacksFrame(self.attacksFrame, self) self.attacksFrameTest.pack(fill=BOTH, expand=1) ## CUSTOM ## self.customFrame = Frame(self, borderwidth=1) self.customFrameTest = custom.CustomFrame(self.customFrame, self) self.customFrameTest.pack(fill=BOTH, expand=1) self.bindEvents() self.parent.config(menu=self.getMenu()) if configManager.configManager().getOption("Options", 'disclamer'): tkMessageBox.showwarning("Disclamer", DISCLAMER) configManager.configManager().setOption("Options", 'disclamer', False)
def gotMRZ(self, mrz, fingerprint=False): self._doc = self._detectReader(mrz) if self._doc != None: self._doc.CSCADirectory = configManager.configManager().getOption('Options', 'certificate') self._doc.openSslDirectory = configManager.configManager().getOption('Options', 'openssl') if fingerprint: self.Fingerprint() else: self.clearLog() self._doc.register(self.log) self._readPassport() self.overview.additionalButton.config(state=NORMAL) self.overview.logButton.config(state=NORMAL)
def refreshReaders(self): self.readerMenu.delete(0, END) # Auto detect self.readerMenu.add_radiobutton(label='Auto-Detect', underline=0, variable=configManager.configManager().getVariable('Options','reader'), value='Auto') # Readers list from pcsc try: readers = readerAbstract.getReaderList() i = 0 for r in readers: self.readerMenu.add_radiobutton(label=r, variable=configManager.configManager().getVariable('Options','reader'), value=i)#, state=DISABLED) i += 1 except NameError, msg: pass
def load(self, event=None): directory = askdirectory(title="Select directory", mustexist=1) if directory: self.clean() directory = str(directory) r = pypassport.reader.ReaderManager().create("DumpReader") r.connect(directory) self._doc = pypassport.epassport.EPassport(r) self._doc.CSCADirectory = configManager.configManager().getOption('Options', 'certificate') self._doc.openSslDirectory = configManager.configManager().getOption('Options', 'openssl') try: self.t = None self.t = dialog.ReadingDialog(self, self._doc) self.t.read.register(self._dgRead) self.t.showSafe() except pypassport.doc9303.bac.BACException, msg: tkMessageBox.showerror("Reader", "Please verify the MRZ:\n" + str(msg[0])) except Exception, msg: tkMessageBox.showerror("Reader", "Please verify data source:\n" + str(msg[0]))
def resetConfig(self): configManager.configManager().defaultConfig(CONFIG) configManager.configManager().setOption("Options", 'disclamer', False)
def __init__(self, parent, confFile=CONFIG): self.parent = parent configManager.configManager().loadConfig(confFile) self.view = View(parent, self)
def exit(self): configManager.configManager().saveConfig() self.controller.exit()
def getMenu(self): menu = Menu(self, relief=FLAT) #################### # FILE # #################### fileMenu = Menu(menu, tearoff=0) fileMenu.add_command(label="Create...", underline=0, command=self.create) fileMenu.add_separator() fileMenu.add_command(label="Open...", underline=0, command=self.load) fileMenu.add_command(label="Save...", underline=0, command=self.save) fileMenu.add_command(label="Generate report...", underline=0, command=self.fingerprint) fileMenu.add_command(label="Clear", underline=0, command=self.clearFull) fileMenu.add_separator() fileMenu.add_command(label="Quit", underline=0, command=self.exit) menu.add_cascade(label="File", underline=0, menu=fileMenu) #################### # HISTORY # #################### self.historyMenu = Menu(menu, tearoff=0, postcommand=self.refreshHistory) menu.add_cascade(label="History", underline=0, menu=self.historyMenu) #################### # CONFIGURE # #################### configureMenu = Menu(menu, tearoff=0, postcommand=self.refreshReaders) self.readerMenu = Menu(menu, tearoff=0) configureMenu.add_cascade(label="Readers", underline=0, menu=self.readerMenu) self.securityMenu = Menu(menu, tearoff=0) self.securityMenu.add_checkbutton( label='Active Authentication', variable=configManager.configManager().getVariable('Security', 'aa')) self.securityMenu.add_checkbutton( label='Passive Authentication', variable=configManager.configManager().getVariable('Security','pa')) configureMenu.add_cascade(label="Security", underline=0, menu=self.securityMenu) #self.sslMenu = Menu(configureMenu, tearoff=0) #self.sslMenu.add_command(label=configManager.configManager().getOption('Options','openssl'), command=None) #self.sslMenu.add_separator() #self.sslMenu.add_command(label="Change", # underline=0, # command=callback.Callback(self.setOpenssl, # configManager.configManager().getVariable('Options','openssl'), # self.sslMenu)) #configureMenu.add_cascade(label="OpenSSL", underline=0, menu=self.sslMenu) #self.certificateMenu = Menu(configureMenu, tearoff=0) #self.certificateMenu.add_command(label=configManager.configManager().getOption('Options','certificate'), command=None) #self.certificateMenu.add_separator() #self.certificateMenu.add_command(label="Change", # underline=0, # command=callback.Callback(self.setPath, # configManager.configManager().getVariable('Options','certificate'), # self.certificateMenu)) #self.certificateMenu.add_command(label="Import", underline=0, command=self.importCertificate) #configureMenu.add_cascade(label="Certificate Directory", underline=0, menu=self.certificateMenu) configureMenu.add_command(label="Import CSCA certificates...", underline=0, command=self.importCertificate) configureMenu.add_separator() configureMenu.add_command(label="Reset to default", underline=0, command=self.resetConfig) menu.add_cascade(label="Configure", underline=0, menu=configureMenu) #################### # LOG MENU # #################### #logMenu = Menu(menu, tearoff=0) #logMenu.add_checkbutton(label="ePassport API", underline=0, variable=configManager.configManager().getVariable('Logs','api')) #logMenu.add_checkbutton(label="Secure Messaging", underline=0, variable=configManager.configManager().getVariable('Logs','sm')) #logMenu.add_checkbutton(label="APDU", underline=0, variable=configManager.configManager().getVariable('Logs','apdu')) #logMenu.add_separator() #logMenu.add_command(label="See Log file", underline=4, command=self.openLog) #menu.add_cascade(label="Log", underline=0, menu=logMenu) ################### # HELP MENU # ################### helpMenu = Menu(menu, tearoff=0) if os.name == "nt" or os.name == "posix": manualState = NORMAL else: manualState = DISABLED helpMenu.add_command(label="Manual", underline=0, command=self.openManual, state=manualState) helpMenu.add_command(label="Website", underline=0, command=self.website) helpMenu.add_separator() helpMenu.add_command(label="About", underline=0, command=self.onAbout) menu.add_cascade(label="Help", underline=0, menu=helpMenu) return menu