Hi Matt,
I am not familiar with detail implementation of RSA encryption, but I can show you the data that can be decrypted successfully with the same private key I posted before.
The encrypted data in base64 encoded format: YZN/adu7+OSJLJ0p2pgFOVZRI+0W2YY0sxVKJtmz/YP/4cvev35VBU3Gh26/6+9EqmR968OWZs4NqFIj+bLFlnPkK+sZ0k++9xvhebNM+ZaG/m+4fcEdqDRIQqxZK/0XHniZ4ejb0Y57o+kX5BhVid2kPf7kPJJ0KUsRXZXxN2wuREDFZHRw0pWUS9CXt9ePkCeIONRAIoukgR044pQdnqtF+lDz2YHoPm5To2Fmj5U9rcAV9Odg8blIZFeJYNgsDjLEmvlXa+wes1fsSr7+UXTjsNQYb279a3waS03vZRgAUs8znb/6QTwm4tScCnqnjdYv++kKAXSYO4lWOfI+/w==
The decrypted payload in hex dump:
[51, 50, 67, 67, 49, 53, 51, 50, 50, 57, 52, 53, 57, 52, 55, 55, 55, 56, 69, 68, 53, 70, 54, 50, 66, 48, 48, 53, 69, 52, 70, 69, 66, 53, 54, 65, 67, 67, 49, 51, 66, 57, 56, 48, 51, 54, 66, 57, 57, 51, 55, 55, 48, 52, 48, 70, 67, 48, 70, 66, 52, 55, 69, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Since I cannot see the server side code, I cannot guarantee it encrypts the data with PKCS1 padding although the engineers of server side claims they are using PKCS1 padding to encrypt the data. I have also checked with Android side code and it decrypts the data with PKCS1 padding and it always decrypts successfully.
Finally, after I read the post from jannemecek, I tried to use Xcode 11.3.1 to build the app and this issue no longer exists.
Regards,
Oscar