Example #1
0
	def updateFirstTime(self, fn, privSignKey, pubSignKey):
		try: v = binstruct.readDecrypt(fs.open(fn), verifysign_rsapubkey=pubSignKey)
		except IOError: v = None
		if v is None or time.time() < v:
			v = time.time()
			binstruct.writeEncrypt(fs.openW(fn), v, sign_rsaprivkey=privSignKey).close()
		return v
Example #2
0
	def __getattr__(self, key):
		if key == "publicKeys":
			self.publicKeys = readPublicKeys(self.devId + "/publicKeys")
			return self.publicKeys
		if key in ("type", "appInfo", "name"):
			value = binstruct.readDecrypt(
				fs.open(self.devId + "/" + key),
				verifysign_rsapubkey = self.publicKeys.sign)
			setattr(self, key, value)
			return value
		raise AttributeError("no attrib '%s'" % key)
Example #3
0
	def readFileDstToSrc(self, fn):
		global localDev
		assert self.srcDev == localDev
		srcPrivKey = localDev.privateKeys.crypt
		dstPubKey = self.dstDev.publicKeys.sign
		return binstruct.readDecrypt(fs.open(fn), srcPrivKey, dstPubKey)
Example #4
0
	def loadData(self, srcDev, fn):
		datad = self.devId + "/data-from-" + srcDev.devId
		return binstruct.readDecrypt(
			fs.open(datad + "/" + fn),
			decrypt_rsaprivkey = self.privateKeys.crypt,
			verifysign_rsapubkey = srcDev.publicKeys.sign)