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
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)
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)
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)