예제 #1
0
	def testClearKeyring(self):
		'''Test removing keyring and adding keys to it'''
		keyringPath = CryptoClient._getKeyringPath()
		# Delete the entire keyring
		shutil.rmtree(keyringPath, ignore_errors=True)
		os.makedirs(keyringPath)
		self.assertEqual(len(CryptoClient.getPrivateKeys()), 0, "Keyring should be empty")
		# Add a public key from file
		self.assertIsNotNone(self._importKeyFromFile("key1_public"), "Import of public key should work")
		self.assertEqual(len(CryptoClient.getPrivateKeys()), 0, "Keyring shouldn't have private keys")
		self.assertEqual(len(CryptoClient.getPublicKeys()), 1, "Keyring should have one public key")
		# Now add the corresponding private key
		ownKeyId = self._importKeyFromFile("key1_private")
		self.assertIsNotNone(ownKeyId, "Import of private key should work")
		self.assertEqual(len(CryptoClient.getPrivateKeys()), 1, "Keyring should have one private key")
		self.assertEqual(len(CryptoClient.getPublicKeys()), 1, "Keyring should have one public key")
예제 #2
0
	def prepare(self):
		'''Called before showing the keypair page'''
		self.privateKeys = CryptoClient.getPrivateKeys()
		numKeys = len(self.privateKeys)
		self.labels["introemptykeyring"].setVisible(numKeys == 0)
		self.labels["introsinglekey"].setVisible(numKeys == 1)
		self.labels["introselectkey"].setVisible(numKeys > 1)
		self.generateProgressbar.setVisible(False)
		self.labels["mighttakeawhile"].setVisible(False)
		self.keypairListWidget.clear()
		for k in self.privateKeys:
			name = k['uids']
			if isinstance(name, list):
				name = str(name[0])
			self.keypairListWidget.addItem("%s - %s (%s)" % (k['keyid'], name, k['length']))
		self.keypairListWidget.setVisible(numKeys > 0)
		self.keypairListWidget.setCurrentRow(self.keypairListWidget.count() - 1)
		# Hide generation option if we've got a key already
		self.keygenbox.setVisible(numKeys == 0)
		self.generateButton.setVisible(numKeys == 0)
		# Rewrite button text in case language has changed
		self.generateButton.setText(I18nManager.getText("button.generate"))
예제 #3
0
 def prepare(self):
     '''Called before showing the keypair page'''
     self.privateKeys = CryptoClient.getPrivateKeys()
     numKeys = len(self.privateKeys)
     self.labels["introemptykeyring"].setVisible(numKeys == 0)
     self.labels["introsinglekey"].setVisible(numKeys == 1)
     self.labels["introselectkey"].setVisible(numKeys > 1)
     self.generateProgressbar.setVisible(False)
     self.labels["mighttakeawhile"].setVisible(False)
     self.keypairListWidget.clear()
     for k in self.privateKeys:
         name = k['uids']
         if isinstance(name, list):
             name = str(name[0])
         self.keypairListWidget.addItem("%s - %s (%s)" %
                                        (k['keyid'], name, k['length']))
     self.keypairListWidget.setVisible(numKeys > 0)
     self.keypairListWidget.setCurrentRow(self.keypairListWidget.count() -
                                          1)
     # Hide generation option if we've got a key already
     self.keygenbox.setVisible(numKeys == 0)
     self.generateButton.setVisible(numKeys == 0)
     # Rewrite button text in case language has changed
     self.generateButton.setText(I18nManager.getText("button.generate"))