e217onr |
|
Статус: Участник Группы: Участники Зарегистрирован: 17.08.2018(UTC) |
Пытаюсь реализовать функционал проверки подписи. В консоли постоянно возникает ошибка: |
|
|
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сказал «Спасибо»: 451 раз |
Здравствуйте. Можете приложить или прислать в ЛС файл подписи и документ, который подписывали? Ошибка возникает только с этим файлом? |
Техническую поддержку оказываем тут |
|
|
WWW |
e217onr |
|
Статус: Участник Группы: Участники Зарегистрирован: 17.08.2018(UTC) |
Автор: Андрей Писарев Здравствуйте. Можете приложить или прислать в ЛС файл подписи и документ, который подписывали? Ошибка возникает только с этим файлом? Ошибка возникает со всеми файлами, поэтому не думаю что прикрепление файлов даст результат. |
|
|
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Зарегистрирован: 26.07.2011(UTC) Сказал «Спасибо»: 451 раз |
По примерам из документации делаете примеры? |
Техническую поддержку оказываем тут |
|
|
WWW |
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сказал «Спасибо»: 451 раз |
Пробовали подписать и проверить результат сразу? |
Техническую поддержку оказываем тут |
|
|
WWW |
e217onr |
|
Статус: Участник Группы: Участники Зарегистрирован: 17.08.2018(UTC) |
Автор: Андрей Писарев По примерам из документации делаете примеры? Примеры из документации не работают, т.к. там представлен код для синхронных запросов, а у меня используются асинхронные. При попытке использовать код из документации, получаю разные ошибки типа «CreateObject is not a function» и тд. Автор: Андрей Писарев Пробовали подписать и проверить результат сразу? Только что попробовал проверить подпись сразу после создания, получаю ту же ошибку, но с requestId = 44. Код:
где sSignedMessage — контент кодируемого документа в формате base64, а dataToVerify — готовая подпись этого контента. |
|
|
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сказал «Спасибо»: 451 раз |
Цитата из примера: Цитата: Приведенный пример использует синхронную версию плагина. Также см. пример работы с асинхронными обьектами. Создание подписи CADES_BES с использованием асинхронной версии |
Техническую поддержку оказываем тут |
|
|
WWW |
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сказал «Спасибо»: 451 раз |
Также можно посмотреть работу на демо-странице и посмотреть функции из js-файлов. Code.js cadesplugin_api.js … |
Техническую поддержку оказываем тут |
|
|
WWW |
e217onr |
|
Статус: Участник Группы: Участники Зарегистрирован: 17.08.2018(UTC) |
Автор: Андрей Писарев Цитата из примера: Цитата: Приведенный пример использует синхронную версию плагина. Также см. пример работы с асинхронными обьектами. Создание подписи CADES_BES с использованием асинхронной версии Здесь пример создания подписи. Создание у меня работает. Нужна проверка. |
|
|
e217onr |
|
Статус: Участник Группы: Участники Зарегистрирован: 17.08.2018(UTC) |
Автор: Андрей Писарев Также можно посмотреть работу на демо-странице и посмотреть функции из js-файлов. Code.js cadesplugin_api.js … Собственно так и работает моя подпись файлов. Я взял эти 2 файла js-скриптов, закинул их в свой проект и настроил работу подписи исходя из этих файлов. Подпись работает великолепно, не работает именно ПРОВЕРКА подписи. Насчёт проверки очень мало написано в документации. Насчёт проверки асинхронными методами — вообще ни слова. Как мне в итоге проверить мою подпись? |
|
|
Пользователи, просматривающие эту тему |
Guest |
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Обновлено 2023 января: перестаньте получать сообщения об ошибках и замедлите работу вашей системы с помощью нашего инструмента оптимизации. Получить сейчас в эту ссылку
- Скачайте и установите инструмент для ремонта здесь.
- Пусть он просканирует ваш компьютер.
- Затем инструмент почини свой компьютер.
Ошибка Windows 0x8009310B вызвана неподходящим закрытым ключом. Если закрытый ключ все еще находится на сервере, возможно установить сертификат и восстановить закрытый ключ. Следующее решение может исправить ошибку; если это не работает, сертификат должен быть заменен.
Восстановление поврежденного сертификата
Откройте командную строку DOS (cmd.exe).
Введите: certutil -repairstore мое «ЗНАЧЕНИЕ ПЕЧАТИ ИЛИ СЕРИЙНЫЙ НОМЕР».
Примечание. Если вы не уверены, что можете найти THUMBPRINT или СЕРИЮ, следуйте этим инструкциям. Кроме того, сертификат иногда недоступен и должен быть импортирован, чтобы эта команда работала. Если вы получили сообщение об ошибке, убедитесь, что используемая вами СЕРИЯ и / или ТЕМАТИЧЕСКАЯ ПЕЧАТЬ являются ТОЧНЫМИ, указанными в вашем сертификате, поскольку Windows иногда вставляет один или несколько вопросительных знаков, что приводит к ошибке.
Вернитесь в диспетчер IIS и снова измените ярлыки для этого сайта. (Где вы можете выбрать сертификат)
Примечание. Иногда вы получаете сообщение об ошибке, поэтому просто проигнорируйте ошибку и попробуйте снова. При повторной попытке может оказаться, что сертификат уже выбран, и больше ничего не нужно делать. Если вы не видите сертификат в списке, вам может потребоваться дать ему понятное имя в MMC, изменив его свойства.
Обновление за январь 2023 года:
Теперь вы можете предотвратить проблемы с ПК с помощью этого инструмента, например, защитить вас от потери файлов и вредоносных программ. Кроме того, это отличный способ оптимизировать ваш компьютер для достижения максимальной производительности. Программа с легкостью исправляет типичные ошибки, которые могут возникнуть в системах Windows — нет необходимости часами искать и устранять неполадки, если у вас под рукой есть идеальное решение:
- Шаг 1: Скачать PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista — Microsoft Gold Certified).
- Шаг 2: Нажмите «Начать сканирование”, Чтобы найти проблемы реестра Windows, которые могут вызывать проблемы с ПК.
- Шаг 3: Нажмите «Починить все», Чтобы исправить все проблемы.
Сканирование папки
1. нажмите на Пуск. выберите Run.
2. введите SIGVERIF в открытое поле.
3. нажмите на ОК
4. Нажмите кнопку «Дополнительно» и выберите «Искать другие файлы без цифровой подписи».
5. Нажмите кнопку «Обзор» в поле «Искать в этой папке» и укажите папку C: WINDOWS SYSTEM32 CATROOT.
6. Установите флажок «Включить подпапки».
7. нажмите ОК, затем на Пуск.
8. После завершения сканирования появится окно со списком неподписанных файлов.
Импорт сертификата в хранилище сертификатов компьютера
- Создание оснастки сертификата в консоли MMC от KB Solution SO1849
- На левой панели разверните папку «Сертификаты», разверните ее и выберите личную папку.
- Щелкните правой кнопкой мыши папку «Сертификаты» в личной папке, выберите «Все задачи», выберите «Импорт».
- Откроется Мастер импорта сертификатов. Нажмите на Далее
- Щелкните Обзор, затем перейдите к файлу, содержащему сертификат SSL. Нажмите «Открыть»> «Далее».
- Убедитесь, что выбрано «Поместить все сертификаты в следующий список», убедитесь, что в списке сертификатов указано «Личные», нажмите «Далее»> «Готово».
https://stackoverflow.com/questions/26011760/cryptdecodeobjectex-bad-tag-error-0x8009310b
Совет экспертов: Этот инструмент восстановления сканирует репозитории и заменяет поврежденные или отсутствующие файлы, если ни один из этих методов не сработал. Это хорошо работает в большинстве случаев, когда проблема связана с повреждением системы. Этот инструмент также оптимизирует вашу систему, чтобы максимизировать производительность. Его можно скачать по Щелчок Здесь
CCNA, веб-разработчик, ПК для устранения неполадок
Я компьютерный энтузиаст и практикующий ИТ-специалист. У меня за плечами многолетний опыт работы в области компьютерного программирования, устранения неисправностей и ремонта оборудования. Я специализируюсь на веб-разработке и дизайне баз данных. У меня также есть сертификат CCNA для проектирования сетей и устранения неполадок.
Сообщение Просмотров: 108
- Remove From My Forums
-
Question
-
Hi All,
I have recieved CSR request from App team but i am getting below error While creating Certificate in root CA.
Certificate Request Denied
Your certificate request was denied.
Your Request Id is 0. The disposition message is
«Error Parsing Request ASN1 bad tag value met. 0x8009310b (ASN: 267)».
Contact your administrator for further information.
Answers
-
Thanks Elke . Issue fixed . Application team send one more updated CSR and now i am able to create certificate .
- Marked as answer by
Tuesday, July 29, 2014 3:01 AM
- Marked as answer by
- Remove From My Forums
-
Question
-
Hi All,
I have recieved CSR request from App team but i am getting below error While creating Certificate in root CA.
Certificate Request Denied
Your certificate request was denied.
Your Request Id is 0. The disposition message is
«Error Parsing Request ASN1 bad tag value met. 0x8009310b (ASN: 267)».
Contact your administrator for further information.
Answers
-
Thanks Elke . Issue fixed . Application team send one more updated CSR and now i am able to create certificate .
- Marked as answer by
Tuesday, July 29, 2014 3:01 AM
- Marked as answer by
- Remove From My Forums
-
Question
-
Hi All,
I have recieved CSR request from App team but i am getting below error While creating Certificate in root CA.
Certificate Request Denied
Your certificate request was denied.
Your Request Id is 0. The disposition message is
«Error Parsing Request ASN1 bad tag value met. 0x8009310b (ASN: 267)».
Contact your administrator for further information.
Answers
-
Thanks Elke . Issue fixed . Application team send one more updated CSR and now i am able to create certificate .
- Marked as answer by
Tuesday, July 29, 2014 3:01 AM
- Marked as answer by
e217onr |
|
Статус: Участник Группы: Участники
|
Пытаюсь реализовать функционал проверки подписи. В консоли постоянно возникает ошибка: |
|
|
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
Здравствуйте. Можете приложить или прислать в ЛС файл подписи и документ, который подписывали? Ошибка возникает только с этим файлом? |
Техническую поддержку оказываем тут |
|
|
WWW |
e217onr |
|
Статус: Участник Группы: Участники
|
Автор: Андрей Писарев Здравствуйте. Можете приложить или прислать в ЛС файл подписи и документ, который подписывали? Ошибка возникает только с этим файлом? Ошибка возникает со всеми файлами, поэтому не думаю что прикрепление файлов даст результат. |
|
|
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
По примерам из документации делаете примеры? |
Техническую поддержку оказываем тут |
|
|
WWW |
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
Пробовали подписать и проверить результат сразу? |
Техническую поддержку оказываем тут |
|
|
WWW |
e217onr |
|
Статус: Участник Группы: Участники
|
Автор: Андрей Писарев По примерам из документации делаете примеры? Примеры из документации не работают, т.к. там представлен код для синхронных запросов, а у меня используются асинхронные. При попытке использовать код из документации, получаю разные ошибки типа «CreateObject is not a function» и тд. Автор: Андрей Писарев Пробовали подписать и проверить результат сразу? Только что попробовал проверить подпись сразу после создания, получаю ту же ошибку, но с requestId = 44. Код:
где sSignedMessage — контент кодируемого документа в формате base64, а dataToVerify — готовая подпись этого контента. |
|
|
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
Цитата из примера: Цитата: Приведенный пример использует синхронную версию плагина. Также см. пример работы с асинхронными обьектами. Создание подписи CADES_BES с использованием асинхронной версии |
Техническую поддержку оказываем тут |
|
|
WWW |
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
Также можно посмотреть работу на демо-странице и посмотреть функции из js-файлов. Code.js cadesplugin_api.js … |
Техническую поддержку оказываем тут |
|
|
WWW |
e217onr |
|
Статус: Участник Группы: Участники
|
Автор: Андрей Писарев Цитата из примера: Цитата: Приведенный пример использует синхронную версию плагина. Также см. пример работы с асинхронными обьектами. Создание подписи CADES_BES с использованием асинхронной версии Здесь пример создания подписи. Создание у меня работает. Нужна проверка. |
|
|
e217onr |
|
Статус: Участник Группы: Участники
|
Автор: Андрей Писарев Также можно посмотреть работу на демо-странице и посмотреть функции из js-файлов. Code.js cadesplugin_api.js … Собственно так и работает моя подпись файлов. Я взял эти 2 файла js-скриптов, закинул их в свой проект и настроил работу подписи исходя из этих файлов. Подпись работает великолепно, не работает именно ПРОВЕРКА подписи. Насчёт проверки очень мало написано в документации. Насчёт проверки асинхронными методами — вообще ни слова. Как мне в итоге проверить мою подпись? |
|
|
Пользователи, просматривающие эту тему |
Guest |
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
What am I doing wrong here? I keep getting error 0x8009310b (ASN1 bad tag value met) when creating a certificate context. I know the certificate I’m testing with is good. I exported it from the intermediate store using DER, Base-64 and P7B formats. All three scenarios fail.
int _tmain(int argc, _TCHAR* argv[])
{
const int MAX_CERT_FILE_SIZE=81920;
HANDLE certFileHandle;
DWORD certEncodedRead = 0L;
BYTE certData[MAX_CERT_FILE_SIZE] = {0};
PCCERT_CONTEXT pCertContext = NULL;
HCERTSTORE hSystemStore = NULL;
int exitCode = 0;
fprintf(stdout, "Importing X509 certificate file to root store: %s nn", argv[0]);
try {
// Create a handle to the certificate given in the command line argument
BeginTask("Creating certificate handle...");
certFileHandle = CreateFile(argv[0],
GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (INVALID_HANDLE_VALUE == certFileHandle){
throw "Could not create a handle to the specified certificate file.";
}
// Read the certificate file
NextTask("Reading certificate file into buffer...");
memset(certData, 0, MAX_CERT_FILE_SIZE);
BOOL result = ReadFile(certFileHandle,
certData,
MAX_CERT_FILE_SIZE,
&certEncodedRead,
NULL);
fprintf(stdout, "Read %d bytes from certificate file...", certEncodedRead);
if (!result) {
throw "Could not read the certificate file.";
}
// Create a certificate context from the buffer
NextTask("Creating certificate context...");
pCertContext = CertCreateCertificateContext(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, certData, certEncodedRead);
if (!pCertContext){
throw "Could not create a certificate context.";
}
// Open the system certificate store
NextTask("Opening local machine certificate store...");
hSystemStore = CertOpenSystemStore(NULL, L"CA");
if (!hSystemStore){
throw "Could not open the local machine certificate store.";
}
// Add certificate context to store
NextTask("Adding certificate context to store...");
//CertAddCertificateContextToStore(hSystemStore,
// pCertContext,
// CERT_STORE_ADD_REPLACE_EXISTING,
// NULL);
} catch (ERRMSG msg) {
Result(false);
HandleError(msg);
exitCode = 1;
}
// Clean-up all resources
if (hSystemStore) {
NextTask("Closing certificate store...");
Result(CertCloseStore(hSystemStore, 0));
}
if (pCertContext) {
NextTask("Freeing certificate store...");
Result(CertFreeCertificateContext(pCertContext));
}
if (certFileHandle) {
NextTask("Closing certificate file...");
Result(CloseHandle(certFileHandle));
}
fprintf(stdout, "nnProgram complete-exiting with code %x", exitCode);
return exitCode;
}
[Edited to add console output]
Importing X509 certificate file to root store: DOD-CA-12.cer
Creating certificate handle...Success.
Reading certificate file into buffer...Read 41472 bytes from certificate file...Success.
Creating certificate context...Failed.
An error occurred while importing the X509 certificate.
Narrative: Could not create a certificate context.
GetLastError reported: 8009310b.
Success.
Closing certificate file...Success.
Program complete-exiting with code 1
I realize this is a very similar post to others (e.g. this one), but there are details missing from the posts which might be significant for my case.
To start with, here’s my simplified program:
#include "stdafx.h"
#include <windows.h>
#include <wincrypt.h>
int _tmain(int argc, _TCHAR* argv[])
{
// usage: CertExtract certpath
char keyFile[] = "C:\Certificates\public.crt";
BYTE lp[65536];
SECURITY_ATTRIBUTES sa;
HANDLE hKeyFile;
DWORD bytes;
PCCERT_CONTEXT certContext;
sa.nLength = sizeof(sa);
sa.lpSecurityDescriptor = NULL;
sa.bInheritHandle = FALSE;
hKeyFile = CreateFile(keyFile, GENERIC_READ, FILE_SHARE_READ, &sa, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (hKeyFile) {
if (ReadFile(hKeyFile, lp, GetFileSize(hKeyFile, NULL), &bytes, NULL) && bytes > 0) {
certContext = CertCreateCertificateContext(X509_ASN_ENCODING, lp, bytes);
if (certContext) {
printf("yay!");
CertFreeCertificateContext(certContext);
}
else {
printf("Could not convert certificate to internal formn");
}
}
else {
printf("Failed to read key file: %sn", keyFile);
}
}
else {
printf("Failed to open key file: %sn", keyFile);
}
CloseHandle(hKeyFile);
return 0;
}
In order to create the certificate, I used the following steps with OpenSSL:
C:Certificates>openssl genrsa -out private.key 1024
Loading 'screen' into random state - done
Generating RSA private key, 1024 bit long modulus
......................................++++++
................++++++
e is 65537 (0x10001)
C:Certificates>openssl req -new -key private.key -out public.csr
Loading 'screen' into random state - done
C:Certificates>copy private.key private.key.org
1 file(s) copied.
C:Certificates>openssl rsa -in private.key.org -out private.key
writing RSA key
C:Certificates>openssl x509 -req -days 365 -in public.csr -signkey private.key -ou
t public.crt
Loading 'screen' into random state - done
Signature ok
subject=/CN=My Signing Cert
Getting Private key
with the following conf file:
RANDFILE = .rnd
[ req ]
distinguished_name = req_distinguished_name
prompt = no
[ req_distinguished_name ]
commonName = My Signing Cert
The certificate file looks like:
-----BEGIN CERTIFICATE-----
MIIBqzCCARQCCQDUJyWk0OxlRTANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDDA9N
eSBTaWduaW5nIENlcnQwHhcNMTYwMTA1MjIzODU5WhcNMTcwMTA0MjIzODU5WjAa
MRgwFgYDVQQDDA9NeSBTaWduaW5nIENlcnQwgZ8wDQYJKoZIhvcNAQEBBQADgY0A
MIGJAoGBAJobIhfSSMLEPeG9SOBelWHo4hjKXe8dT6cllPr6QXdXe2VNLh9fxVlx
spVGFQwjlF3OHYnmSQnY3m2b5wlFNYVuHvy8rUsZWOF4drSbiqWKh0TuJ+4MBeGq
EormTJ+kiGqNm5IVRrTu9OV8f0XQTGV1pxHircQxsGhxY5w0QTjjAgMBAAEwDQYJ
KoZIhvcNAQEFBQADgYEAedqjKfMyIFC8nUbJ6t/Y8D+fJFwCcdwojUFizr78FEwA
IZSas1b1bXSkA+QEooW7pYdBAfzNuD3WfZAIZpqFlr4rPNIqHzYa0OIdDPwzQQLa
3zPKqjj6QeTWEi5/ArzO+sTVv4m3Og3GQjMChb8H/GxsWdbComPVP82DTUet+ZU=
-----END CERTIFICATE-----
Converting the PEM-encoding to hex allows me to identify the parts of the certificate:
30 SEQUENCE //Certificate
(82 01 AB)
30 SEQUENCE //tbsCertificate
(82 01 14)
02 INTEGER //serialNumber
(09)
00 D4 27 25 A4 D0 EC 65 45
30 SEQUENCE //signature
(0D)
06 OBJECT IDENTIFIER
(09)
2A 86 48 86 F7 0D 01 01 05
05 NULL
(00)
30 SEQUENCE //issuer
(1A)
31 SET
(18)
30 SEQUENCE
(16)
06 OBJECT IDENTIFIER
(03)
55 04 03
0C UTF8String
(0F)
4D 79 20 53 69 67 6E 69 6E 67 20 43 65 72 74
30 SEQUENCE //validity
(1E)
17 UTCTime
(0D)
31 36 30 31 30 35 32 32 33 38 35 39 5A
17 UTCTime
(0D)
31 37 30 31 30 34 32 32 33 38 35 39 5A
30 SEQUENCE //subjectName
(1A)
31 SET
(18)
30 SEQUENCE
(16)
06 OBJECT IDENTIFIER
(03)
55 04 03
0C UTF8String
(0F)
4D 79 20 53 69 67 6E 69 6E 67 20 43 65 72 74
30 SEQUENCE //subjectPublicKeyInfo
(81 9F)
30 SEQUENCE //algorithmId
(0D)
06 OBJECT IDENTIFIER //algorithm
(09)
2A 86 48 86 F7 0D 01 01 01
05 NULL
(00)
03 BIT STRING //subjectPublicKey
(81 8D)
[00] //padding bits
30 SEQUENCE //RSAPublicKey
(81 89)
02 INTEGER //modulus
(81 81)
00 9A 1B 22 17 D2 48 C2 C4 3D E1 BD 48 E0 5E 95 61 E8 E2 18 CA 5D EF 1D 4F A7 25 94 FA FA 41 77 57 7B 65 4D 2E 1F 5F C5 59 71 B2 95 46 15 0C 23 94 5D CE 1D 89 E6 49 09 D8 DE 6D 9B E7 09 45 35 85 6E 1E FC BC AD 4B 19 58 E1 78 76 B4 9B 8A A5 8A 87 44 EE 27 EE 0C 05 E1 AA 12 8A E6 4C 9F A4 88 6A 8D 9B 92 15 46 B4 EE F4 E5 7C 7F 45 D0 4C 65 75 A7 11 E2 AD C4 31 B0 68 71 63 9C 34 41 38 E3 02 03 01 00 01
30 SEQUENCE //signatureAlgorithm
(0D)
06 OBJECT IDENTIFIER
(09)
2A 86 48 86 F7 0D 01 01 05
05 NULL
(00)
03 BIT STRING //signatureValue
(81 81)
[00] //padding bits
79 DA A3 29 F3 32 20 50 BC 9D 46 C9 EA DF D8 F0 3F 9F 24 5C 02 71 DC 28 8D 41 62 CE BE FC 14 4C 00 21 94 9A B3 56 F5 6D 74 A4 03 E4 04 A2 85 BB A5 87 41 01 FC CD B8 3D D6 7D 90 08 66 9A 85 96 BE 2B 3C D2 2A 1F 36 1A D0 E2 1D 0C FC 33 41 02 DA DF 33 CA AA 38 FA 41 E4 D6 12 2E 7F 02 BC CE FA C4 D5 BF 89 B7 3A 0D C6 42 33 02 85 BF 07 FC 6C 6C 59 D6 C2 A2 63 D5 3F CD 83 4D 47 AD F9 95
which appears to conform to the X.509 specs (as I would expect it to):
Certificate ::= {
tbsCertificate TBSCertificate,
signatureAlgorithm AlgorithmIdentifier,
signatureValue BIT STRING
}
TBSCertificate ::= SEQUENCE {
version [0] Version DEFAULT v1, <-- what does this mean?
serialNumber INTEGER,
signature AlgorithmIdentifier,
issuer Name,
validity Validity,
subjectName Name,
subjectPublicKeyInfo SubjectPublicKeyInfo
...
}
with the lone exception of the version part, which isn’t clear to me whether it is optional or not (though it never seems to be added with certificates I create with OpenSSL).
I can open the certificate to import into a certificate store (and can successfully import to a store), so I don’t think anything is specifically wrong with the file/encoding.
When I reach the call to CertCreateCertificateContext, my lp buffer looks like:
-----BEGIN CERTIFICATE-----nMIIBqzCCARQCCQDUJyWk0OxlRTANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDDA9NneSBTaWduaW5nIENlcnQwHhcNMTYwMTA1MjIzODU5WhcNMTcwMTA0MjIzODU5WjAanMRgwFgYDVQQDDA9NeSBTaWduaW5nIENlcnQwgZ8wDQ...
and bytes = 639 — which is the file size.
I’ve tried adding logic to strip out the certificate comments, but examples of importing a certificate in this manner don’t indicate that should be necessary.
I’ve tried setting the dwCertEncodingType to X509_ASN_ENCODING | PKCS_7_ASN_ENCODING and PKCS_7_ASN_ENCODING out of desperation (though I don’t believe I am using PKCS#7 encoding here…a little fuzzy on that).
Does anyone have any suggestions on what I might be doing incorrectly here? I appreciate it.
- Remove From My Forums
-
Question
-
Hi All,
I have recieved CSR request from App team but i am getting below error While creating Certificate in root CA.
Certificate Request Denied
Your certificate request was denied.
Your Request Id is 0. The disposition message is
«Error Parsing Request ASN1 bad tag value met. 0x8009310b (ASN: 267)».Contact your administrator for further information.
Answers
-
Thanks Elke . Issue fixed . Application team send one more updated CSR and now i am able to create certificate .
-
Marked as answer by
Tuesday, July 29, 2014 3:01 AM
-
Marked as answer by