Let us take a look at your generated CSR first. I use an online ASN.1 decoder.
Well, the online tool won't decode your CSR. SO it is not valid:

Okay, let see what a valid CSR looks like. I generated a CSR using OpenSSL:
ghasemi@ghasemi-MS-7693:~$ openssl genrsa -out priv.key 1024
Generating RSA private key, 1024 bit long modulus
............................++++++
.......................++++++
e is 65537 (0x10001)
ghasemi@ghasemi-MS-7693:~$ ls
priv.key
ghasemi@ghasemi-MS-7693:~$ openssl req -new -key priv.key -out my_csr.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:IR
State or Province Name (full name) [Some-State]:Tehran
Locality Name (eg, city) []:Tehran
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Company
Organizational Unit Name (eg, section) []:Section
Common Name (e.g. server FQDN or YOUR name) []:Ebrahim
Email Address []:ebr.ghasemi at gmail
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
ghasemi@ghasemi-MS-7693:~$ ls
my_csr.csr priv.key
As you see above, I generated a CSR with a 1024 bit Key pair. Let see contents:
ghasemi@ghasemi-MS-7693:~$ cat my_csr.csr
-----BEGIN CERTIFICATE REQUEST-----
MIIByzCCATQCAQAwgYoxCzAJBgNVBAYTAklSMQ8wDQYDVQQIDAZUZWhyYW4xDzAN
BgNVBAcMBlRlaHJhbjEQMA4GA1UECgwHQ29tcGFueTEQMA4GA1UECwwHU2VjdGlv
bjEQMA4GA1UEAwwHRWJyYWhpbTEjMCEGCSqGSIb3DQEJARYUZWJyLmdoYXNlbWkg
YXQgZ21haWwwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOJK2YUOSREjrDbZ
auC3/509NOAL+xjqJ2x947CtSIyuPSLuplDW4oAkvaqYvA5ocIxeAGbW9WZF/OdM
8z5XoQF3+ogGsEna1TZN1TY5XOdrRgIu9gFA2KRNPjnEZIkt7FLBJUQlk5aithk4
lfy73XCoosjWUwBOKac5ZIKOuXEHAgMBAAGgADANBgkqhkiG9w0BAQsFAAOBgQCF
hQzkAgfongzP9EKV+oTwVhqkQ7bfy5TE85YIR3aymuzbvAc9KWdWydOxHiHqXbmZ
ECWvLlMsrlrpyDO2Xxy8UXFJkNgH4Rys267ETaoYh19htc4qZzNqK/1ejQBUidgY
QoafJxv3YhO+gYr2txyxPRN0etcquElwx0odF8KBVA==
-----END CERTIFICATE REQUEST-----
ghasemi@ghasemi-MS-7693:~$
Well, the obvious different are the length and the start and end lines. My CSR is really bigger than yours. It starts with -----BEGIN CERTIFICATE REQUEST-----
and end with -----END CERTIFICATE REQUEST-----
too.
Let us check its contents with ASN.1 decoder:

Okay. As you see, there are the Characters that I entered during CSR generation inside the CSR in plain text, but not in yours.
So what's wrong?
Your applet, returns the Signature of your CSR Info only. It is not the CSR, It is the Signature of it only. So you must generate the CSR with the CSR info and the Signature. Moreover the public key used in the CSR Info MUST be the public key that its private key is used to generate the signature, otherwise the CA won't be able to verify the validity of CSR and it consider your CSR as a forged/fake csr.
So, after generation of KeyPair inside the card, export the public key to the android app. and then generate the CSR info and generate the signature of this info inside the card and then using the csr info and the signature build your CSR.