Ejemplo n.º 1
0
 def full_verkey(self):
     if self.abbreviated:
         rtn = friendlyToRaw(self.identifier)
         rtn += friendlyToRaw(self.verkey[1:])
         return rawToFriendly(rtn)
     else:
         return self.verkey
Ejemplo n.º 2
0
 def full_verkey(self):
     if self.abbreviated:
         rtn = friendlyToRaw(self.identifier)
         rtn += friendlyToRaw(self.verkey[1:])
         return rawToFriendly(rtn)
     else:
         return self.verkey
Ejemplo n.º 3
0
def client1Signer():
    seed = b'client1Signer secret key........'
    signer = DidSigner(seed=seed)
    testable_verkey = friendlyToRaw(signer.identifier)
    testable_verkey += friendlyToRaw(signer.verkey[1:])
    testable_verkey = base58.b58encode(testable_verkey)
    assert testable_verkey == '6JvpZp2haQgisbXEXE9NE6n3Tuv77MZb5HdF9jS5qY8m'
    return signer
Ejemplo n.º 4
0
 def connectTo(self, ha, verkey, pubkey):
     if not self.isConnectedTo(ha=ha):
         assert pubkey, 'Need public key to connect to {}'.format(ha)
         zvk = z85.encode(friendlyToRaw(verkey)) if verkey else None
         zpk = z85.encode(friendlyToRaw(pubkey))
         self.connect(name=verkey or pubkey, ha=ha, verKey=zvk, publicKey=zpk)
     else:
         logger.debug('{} already connected {}'.format(self, ha))
Ejemplo n.º 5
0
def client1Signer():
    seed = b'client1Signer secret key........'
    signer = DidSigner(seed=seed)
    testable_verkey = friendlyToRaw(signer.identifier)
    testable_verkey += friendlyToRaw(signer.verkey[1:])
    testable_verkey = base58.b58encode(testable_verkey).decode("utf-8")
    assert testable_verkey == '6JvpZp2haQgisbXEXE9NE6n3Tuv77MZb5HdF9jS5qY8m'
    return signer
Ejemplo n.º 6
0
 def connectTo(self, linkName=None, link=None):
     assert linkName or link
     if link is None:
         link = self.wallet.getLink(linkName, required=True)
     ha = link.getRemoteEndpoint(required=True)
     self.endpoint.connectIfNotConnected(
         name=link.name,
         ha=ha,
         verKeyRaw=friendlyToRaw(link.remoteVerkey)
         if link.remoteVerkey else None,
         publicKeyRaw=friendlyToRaw(
             link.remotePubKey)) if link.remotePubKey else None
Ejemplo n.º 7
0
    def __init__(self, identifier, verkey=None, rawVerkey=None):
        self.abbreviated = None
        if (verkey is None or verkey == '') and (rawVerkey is None or rawVerkey == ''):
            if identifier:
                self._identifier = identifier
                if (verkey is None and rawVerkey is None):
                    self._verkey = None
                else:
                    self._verkey = ''
                return

        if not ((verkey or rawVerkey) and not (verkey and rawVerkey)):
            raise ValueError(
                "Both verkey {} and rawVerkey {} can't be specified"
                .format(verkey, rawVerkey)
            )

        if identifier:
            self._identifier = identifier
            if rawVerkey:
                self._verkey = rawToFriendly(rawVerkey)
                self.abbreviated = False
            else:
                if verkey.startswith("~"):
                    self._verkey = verkey[1:]
                    self.abbreviated = True
                else:
                    self._verkey = verkey
                    self.abbreviated = False
        else:
            verraw = rawVerkey or friendlyToRaw(verkey)
            self._identifier = rawToFriendly(verraw[:16])
            self._verkey = rawToFriendly(verraw[16:])
            self.abbreviated = True
Ejemplo n.º 8
0
    def __init__(self, identifier, verkey=None, rawVerkey=None):
        self.abbreviated = None
        if (verkey is None or verkey == '') and (rawVerkey is None
                                                 or rawVerkey == ''):
            if identifier:
                self._identifier = identifier
                if (verkey is None and rawVerkey is None):
                    self._verkey = None
                else:
                    self._verkey = ''
                return

        if not ((verkey or rawVerkey) and not (verkey and rawVerkey)):
            raise ValueError(
                "Both verkey {} and rawVerkey {} can't be specified".format(
                    verkey, rawVerkey))

        if identifier:
            self._identifier = identifier
            if rawVerkey:
                self._verkey = rawToFriendly(rawVerkey)
                self.abbreviated = False
            else:
                if verkey.startswith("~"):
                    self._verkey = verkey[1:]
                    self.abbreviated = True
                else:
                    self._verkey = verkey
                    self.abbreviated = False
        else:
            verraw = rawVerkey or friendlyToRaw(verkey)
            self._identifier = rawToFriendly(verraw[:16])
            self._verkey = rawToFriendly(verraw[16:])
            self.abbreviated = True
Ejemplo n.º 9
0
    def __init__(self, identifier, verkey=None, rawVerkey=None):
        self.abbreviated = None
        if (verkey is None or verkey == '') and (rawVerkey is None
                                                 or rawVerkey == ''):
            if identifier:
                self._identifier = identifier
                if (verkey is None and rawVerkey is None):
                    self._verkey = None
                else:
                    self._verkey = ''
                return

        assert (verkey or rawVerkey) and not (verkey and rawVerkey)
        if identifier:
            self._identifier = identifier
            if rawVerkey:
                self._verkey = rawToFriendly(rawVerkey)
                self.abbreviated = False
            else:
                if verkey.startswith("~"):
                    self._verkey = verkey[1:]
                    self.abbreviated = True
                else:
                    self._verkey = verkey
                    self.abbreviated = False
        else:
            verraw = rawVerkey or friendlyToRaw(verkey)
            self._identifier = rawToFriendly(verraw[:16])
            self._verkey = rawToFriendly(verraw[16:])
            self.abbreviated = True
Ejemplo n.º 10
0
def testSendGetNymFailsIfDestIsPassedInHexFormat(looper, sdk_pool_handle,
                                                 sdk_wallet_trustee):
    # Sometimes hex representation can use only base58 compatible characters
    while True:
        uuidIdentifier, abbrevVerkey = createHalfKeyIdentifierAndAbbrevVerkey()
        hexEncodedUuidIdentifier = hexlify(
            friendlyToRaw(uuidIdentifier)).decode()
        if not check_str_is_base58_compatible(hexEncodedUuidIdentifier):
            break
    sdk_add_new_nym(looper,
                    sdk_pool_handle,
                    sdk_wallet_trustee,
                    dest=uuidIdentifier,
                    verkey=abbrevVerkey)

    _, s_did = sdk_wallet_trustee
    get_nym_req = looper.loop.run_until_complete(
        build_get_nym_request(s_did, uuidIdentifier))
    get_nym_req = modify_field(get_nym_req, hexEncodedUuidIdentifier,
                               IDENTIFIER)
    req = sdk_sign_and_send_prepared_request(looper, sdk_wallet_trustee,
                                             sdk_pool_handle, get_nym_req)
    with pytest.raises(RequestNackedException) as e:
        sdk_get_and_check_replies(looper, [req])
    e.match('should not contain the following chars')
Ejemplo n.º 11
0
    def connectTo(self, linkName=None, link=None):
        assert linkName or link
        if link is None:
            link = self.wallet.getLink(linkName, required=True)
        ha = link.getRemoteEndpoint(required=True)
        verKeyRaw = friendlyToRaw(link.full_remote_verkey) if link.full_remote_verkey else None
        publicKeyRaw = friendlyToRaw(link.remotePubkey) if link.remotePubkey else None

        if verKeyRaw is None and publicKeyRaw is None:
            raise InvalidLinkException("verkey or publicKey is required for connection.")

        if publicKeyRaw is None:
            publicKeyRaw = rawVerkeyToPubkey(verKeyRaw)
        self.endpoint.connectIfNotConnected(
                         name=link.name,
                         ha=ha,
                         verKeyRaw=verKeyRaw,
                         publicKeyRaw=publicKeyRaw)
Ejemplo n.º 12
0
    def connectTo(self, linkName=None, link=None):
        assert linkName or link
        if link is None:
            link = self.wallet.getLink(linkName, required=True)
        ha = link.getRemoteEndpoint(required=True)
        verKeyRaw = friendlyToRaw(link.full_remote_verkey) if link.full_remote_verkey else None
        publicKeyRaw = friendlyToRaw(link.remotePubkey) if link.remotePubkey else None

        if verKeyRaw is None and publicKeyRaw is None:
            raise InvalidLinkException("verkey or publicKey is required for connection.")

        if publicKeyRaw is None:
            publicKeyRaw = rawVerkeyToPubkey(verKeyRaw)
        self.endpoint.connectIfNotConnected(
                         name=link.name,
                         ha=ha,
                         verKeyRaw=verKeyRaw,
                         publicKeyRaw=publicKeyRaw)
Ejemplo n.º 13
0
 def __init__(self, identifier, verkey=None, rawVerkey=None):
     assert (verkey or rawVerkey) and not (verkey and rawVerkey)
     if identifier:
         self._identifier = identifier
         self._verkey = verkey or rawToFriendly(rawVerkey)
         self.abbreviated = False
     else:
         verraw = rawVerkey or friendlyToRaw(verkey)
         self._identifier = rawToFriendly(verraw[:16])
         self._verkey = rawToFriendly(verraw[16:])
         self.abbreviated = True
Ejemplo n.º 14
0
def test_signer_compatable():
    seed = b'Falcon00000000000000000000000000'
    s_signer = SimpleSigner(seed=seed)
    did_signer = DidSigner(seed=seed)

    assert friendlyToRaw(s_signer.identifier).startswith(friendlyToRaw(did_signer.identifier))

    if did_signer.abbreviated:
        verkey = friendlyToRaw(did_signer.identifier)
        verkey += friendlyToRaw(did_signer.verkey[1:])
    else:
        verkey = friendlyToRaw(did_signer.verkey)
    assert friendlyToRaw(s_signer.verkey) == verkey
    assert friendlyToRaw(s_signer.verkey) == friendlyToRaw(did_signer.full_verkey)
Ejemplo n.º 15
0
def test_signer_compatable():
    seed = b'Falcon00000000000000000000000000'
    s_signer = SimpleSigner(seed=seed)
    did_signer = DidSigner(seed=seed)

    assert friendlyToRaw(s_signer.identifier).startswith(
        friendlyToRaw(did_signer.identifier))

    if did_signer.abbreviated:
        verkey = friendlyToRaw(did_signer.identifier)
        verkey += friendlyToRaw(did_signer.verkey[1:])
    else:
        verkey = friendlyToRaw(did_signer.verkey)
    assert friendlyToRaw(s_signer.verkey) == verkey
    assert friendlyToRaw(s_signer.verkey) == friendlyToRaw(
        did_signer.full_verkey)
Ejemplo n.º 16
0
def testSendGetNymFailsIfDestIsPassedInHexFormat(be, do, poolNodesStarted,
                                                 trusteeCli):

    uuidIdentifier, abbrevVerkey = createHalfKeyIdentifierAndAbbrevVerkey()
    addNym(be, do, trusteeCli, idr=uuidIdentifier, verkey=abbrevVerkey)

    hexEncodedUuidIdentifier = hexlify(friendlyToRaw(uuidIdentifier)).decode()

    parameters = {'dest': hexEncodedUuidIdentifier}

    be(trusteeCli)
    do('send GET_NYM dest={dest}',
       mapper=parameters,
       expect="should not contain the following chars",
       within=2)
def testSendGetNymFailsIfDestIsPassedInHexFormat(
        be, do, poolNodesStarted, trusteeCli):

    uuidIdentifier, abbrevVerkey = createHalfKeyIdentifierAndAbbrevVerkey()
    addNym(be, do, trusteeCli, idr=uuidIdentifier, verkey=abbrevVerkey)

    hexEncodedUuidIdentifier = hexlify(friendlyToRaw(uuidIdentifier)).decode()

    parameters = {
        'dest': hexEncodedUuidIdentifier
    }

    be(trusteeCli)
    do('send GET_NYM dest={dest}',
       mapper=parameters, expect="should not contain the following chars", within=2)
Ejemplo n.º 18
0
def testSendAttribFailsIfDestIsPassedInHexFormat(be, do, poolNodesStarted,
                                                 trusteeCli):

    uuidIdentifier = createUuidIdentifier()
    addNym(be, do, trusteeCli, idr=uuidIdentifier)

    hexEncodedUuidIdentifier = hexlify(friendlyToRaw(uuidIdentifier)).decode()

    parameters = {
        'dest': hexEncodedUuidIdentifier,
        'raw': json.dumps({'name': 'Alice'})
    }

    be(trusteeCli)
    do('send ATTRIB dest={dest} raw={raw}',
       mapper=parameters,
       expect=ERROR,
       within=2)
def testSendAttribFailsIfDestIsPassedInHexFormat(
        be, do, poolNodesStarted, trusteeCli):

    uuidIdentifier = createUuidIdentifier()
    addNym(be, do, trusteeCli, idr=uuidIdentifier)

    hexEncodedUuidIdentifier = hexlify(friendlyToRaw(uuidIdentifier)).decode()

    parameters = {
        'dest': hexEncodedUuidIdentifier,
        'raw': json.dumps({
            'name': 'Alice'
        })
    }

    be(trusteeCli)
    do('send ATTRIB dest={dest} raw={raw}',
       mapper=parameters, expect=ERROR, within=2)
Ejemplo n.º 20
0
def testSendGetNymFailsIfDestIsPassedInHexFormat(be, do, poolNodesStarted,
                                                 trusteeCli):

    # Sometimes hex representation can use only base58 compatible characters
    while True:
        uuidIdentifier, abbrevVerkey = createHalfKeyIdentifierAndAbbrevVerkey()
        hexEncodedUuidIdentifier = hexlify(
            friendlyToRaw(uuidIdentifier)).decode()
        if not check_str_is_base58_compatible(hexEncodedUuidIdentifier):
            break

    addNym(be, do, trusteeCli, idr=uuidIdentifier, verkey=abbrevVerkey)

    parameters = {'dest': hexEncodedUuidIdentifier}

    be(trusteeCli)
    do('send GET_NYM dest={dest}',
       mapper=parameters,
       expect="should not contain the following chars",
       within=2)
def testSendGetNymFailsIfDestIsPassedInHexFormat(
        be, do, poolNodesStarted, trusteeCli):

    # Sometimes hex representation can use only base58 compatible characters
    while True:
        uuidIdentifier, abbrevVerkey = createHalfKeyIdentifierAndAbbrevVerkey()
        hexEncodedUuidIdentifier = hexlify(
            friendlyToRaw(uuidIdentifier)).decode()
        if not check_str_is_base58_compatible(hexEncodedUuidIdentifier):
            break

    addNym(be, do, trusteeCli, idr=uuidIdentifier, verkey=abbrevVerkey)

    parameters = {
        'dest': hexEncodedUuidIdentifier
    }

    be(trusteeCli)
    do('send GET_NYM dest={dest}',
       mapper=parameters,
       expect="should not contain the following chars",
       within=2)
Ejemplo n.º 22
0
def friendlyVerkeyToPubkey(verkey):
    vkRaw = friendlyToRaw(verkey)
    pkraw = ed25519PkToCurve25519(vkRaw)
    return rawToFriendly(pkraw)
Ejemplo n.º 23
0
def friendlyVerkeyToPubkey(verkey):
    vkRaw = friendlyToRaw(verkey)
    pkraw = ed25519PkToCurve25519(vkRaw)
    return rawToFriendly(pkraw)