diff --git a/aries_cloudagent/protocols/connections/v1_0/messages/connection_invitation.py b/aries_cloudagent/protocols/connections/v1_0/messages/connection_invitation.py index 9af5dc9783..d983eb0ede 100644 --- a/aries_cloudagent/protocols/connections/v1_0/messages/connection_invitation.py +++ b/aries_cloudagent/protocols/connections/v1_0/messages/connection_invitation.py @@ -82,7 +82,7 @@ def to_url(self, base_url: Optional[str] = None) -> str: """ c_json = self.to_json() - c_i = bytes_to_b64(c_json.encode("ascii"), urlsafe=True) + c_i = bytes_to_b64(c_json.encode("ascii"), urlsafe=True, pad=False) result = urljoin(base_url or self.endpoint or "", "?c_i={}".format(c_i)) return result diff --git a/aries_cloudagent/protocols/out_of_band/v1_0/messages/invitation.py b/aries_cloudagent/protocols/out_of_band/v1_0/messages/invitation.py index 534455ea1f..d02673361f 100644 --- a/aries_cloudagent/protocols/out_of_band/v1_0/messages/invitation.py +++ b/aries_cloudagent/protocols/out_of_band/v1_0/messages/invitation.py @@ -175,7 +175,7 @@ def to_url(self, base_url: Optional[str] = None) -> str: """ c_json = self.to_json() - oob = bytes_to_b64(c_json.encode("ascii"), urlsafe=True) + oob = bytes_to_b64(c_json.encode("ascii"), urlsafe=True, pad=False) endpoint = None if not base_url: for service_item in self.services: diff --git a/aries_cloudagent/protocols/out_of_band/v1_0/tests/test_manager.py b/aries_cloudagent/protocols/out_of_band/v1_0/tests/test_manager.py index 2eb4ca2495..074bec5d9f 100644 --- a/aries_cloudagent/protocols/out_of_band/v1_0/tests/test_manager.py +++ b/aries_cloudagent/protocols/out_of_band/v1_0/tests/test_manager.py @@ -9,6 +9,7 @@ from unittest.mock import ANY from aries_cloudagent.tests import mock +from aries_cloudagent.wallet.util import pad from .....connections.models.conn_record import ConnRecord from .....connections.models.connection_target import ConnectionTarget @@ -883,7 +884,8 @@ async def test_create_invitation_goal_code(self): base64_message = invi_rec.invitation_url.split("=", maxsplit=1)[1] base64_bytes = base64_message.encode("ascii") - message_bytes = base64.b64decode(base64_bytes) + message_bytes = base64.b64decode(base64_bytes + b"==") + base64.urlsafe_b64decode(pad(base64_message)) data = message_bytes.decode("ascii") assert data invite_json = json.loads(data)