def __init__(self, key): key = t2b(key) _Rsa.__init__(self) idx = _ffi.new("word32*") idx[0] = 0 ret = _lib.wc_RsaPublicKeyDecode(key, idx, self.native_object, len(key)) if ret < 0: raise WolfCryptError("Invalid key error (%d)" % ret) self.output_size = _lib.wc_RsaEncryptSize(self.native_object) if self.output_size <= 0: raise WolfCryptError("Invalid key error (%d)" % self.output_size)