Давайте сначала взглянем на ваш сгенерированный CSR. Я использую онлайн-декодер ASN.1.
Что ж, онлайн-инструмент не расшифрует ваш CSR. ТАК это недействительно:
Хорошо, давайте посмотрим, как выглядит действующий CSR. Я сгенерировал CSR с помощью 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
Как вы видите выше, я сгенерировал CSR с 1024-битной парой ключей. Позвольте увидеть содержание:
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:~$
Ну, очевидное отличие — это длина, начальная и конечная линии. Мой CSR действительно больше, чем ваш. Он начинается с -----BEGIN CERTIFICATE REQUEST-----
и заканчивается на -----END CERTIFICATE REQUEST-----
.
Проверим его содержимое декодером ASN.1:
Хорошо. Как видите, символы, которые я ввел при генерации CSR, есть внутри CSR в виде обычного текста, а не в вашем.
Так что же не так?
Ваш апплет возвращает только подпись вашей информации CSR. Это не CSR, это только его Подпись. Таким образом, вы должны сгенерировать CSR с информацией CSR и подписью. Кроме того, открытый ключ, используемый в CSR Info, ДОЛЖЕН быть открытым ключом, который его закрытый ключ используется для создания подписи, в противном случае CA не сможет проверить действительность CSR и расценит ваш CSR как поддельный / поддельный CSR. .
Итак, после создания KeyPair внутри карты экспортируйте открытый ключ в приложение для Android. а затем сгенерируйте информацию CSR и сгенерируйте подпись этой информации внутри карты, а затем, используя информацию CSR и подпись, создайте свой CSR.
person
Ebrahim Ghasemi
schedule
24.10.2016