#0
by Vario
Всем привет. Имеется следующая проблема: нужен доступ к сервису Google через сервисный аккаунт. Для получения такого доступа формируется JWT (JSON Web Token) эдакий текст по-сути схожий с XML. Этот самый JWT нужно подписать используя сертификат, предоставленный Google (файл с расширением .p12). Причем подписывать надо алгоритмом RSA с использованием функции хеширования SHA-256. Ради последней на ось (Windows Server 2003) установлен патч, т.к. изначально она там не поддерживается. Делаем так: Имеем: Ошибка при вызове метода контекста (Подписать) Подпись = МенеджерКриптографии.Подписать(ТокенЗаголовокТребования, Сертификат[0]); по причине: Сертификат, связанный с закрытым ключом, указывает на модуль криптографии, отличный от текущего. Сертификат связан с модулем криптографии "Microsoft Base Cryptographic Provider v1.0" с типом 1. "Microsoft Enhanced RSA and AES Cryptographic Provider", тип 24 используется т.к. именно он поддерживает SHA-256, в "Microsoft Base Cryptographic Provider v1.0", тип 1 этого нет. При этом код рабочий, RSA_SHA-1 подпись формируется. В процессе поиска по интернетам ничего полезного не нашел, но встечал код на Java где используется именно "Microsoft Enhanced RSA and AES Cryptographic Provider". Также Google, судя по описанию на офсайте, ничего кроме RSA_SHA-256 не принимает. Кто сталкивался с подобным, решал проблему? Платформа: 8.2.17.153, ось Windows Server 2003 R2 SP2
#1
by Vario
т.е. получается что в сертификате или где-то еще прописан тип криптопровайдера. Как-то надо это обойти.
#3
by UnAmerican
Ну у тебя все в ошибке. Зайди в сертификат, если там Microsoft Base Cryptographic Provider v1.0. То соответственно подписывать надо: ... Причем алгоритм к крипто-провайдеру, так и не понял.
#4
by Vario
Если указать в конструкторе "Microsoft Base Cryptographic Provider v1.0" то SHA-256 становится недоступен. Код будет вылетать на строке МенеджерКриптографии.АлгоритмХеширования = "SHA-256"; с указанием того что данный алгоритм хеширования не поддерживается
#5
by Vario
Указания на криптопровайдер в сертификате, при просмотре штатными средствами, не увидел. Качнул пару нештатных утилит, тоже пусто.
#6
by UnAmerican
А с чего Вы взяли, что там SHA-256? В каком мануале указано? Еще раз говорю откройте сертификат и гляньте на алгоритм-хеширования.
#7
by Vario
Посмотрел на сертификат через certmgr.exe, указано следующее "Provider Type:: 1 Provider Name:: Microsoft Base Cryptographic Provider v1.0 Container: privatekey KeySpec: 1" ...правильно вобщем-то он ругается. Насчет требований Гугла здесь ( сказано что "...The only signing algorithm supported by the Google OAuth 2.0 Authorization Server is RSA using SHA-256 hashing algorithm..." Некорректный сертификат получается. С другой стороны у людей вот здесь ( в ихних фреймворках подпись работает именно с "Microsoft Enhanced RSA and AES Cryptographic Provider"
#9
by Vario
Решение: импортировать с помощью OpenSSL в .pem, затем экспортировать обратно в pkcs12 с указанием имени провайдера (ключ -CSP "<ИмяПровайдера>")
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- В подвале документов - должности тех, ... кому на подпись документ понесут :(
- 1c 8.2 МенеджерКриптографии
- OpenSSL и МенеджерКриптографии
- ЭЦП. МенеджерКриптографии. Как использовать?
- МенеджерКриптографии. Как использовать?
- ЭЦП, Сертификат, Подпись. Что есть что?
- Новый МенеджерКриптографии("", "", НомерТипа) - где перечень типов найти ?
- МенеджерКриптографии и Avest
В этой группе 1С
- УТ 11 Перенумерация Документов
- ЗУП: вычеты в Регистре по НДФЛ
- Удаление сеансов пользователей при отсутствии запросов к БД
- ЗУП. Неверно начислены страховые взносы
- Обработка события "Начало выбора" 1С 8.1
- Закрытие периода в УТ11
- Слишком много фактических параметров
- Передать параметры из 1С на форму в браузере
- БП 2.0. Классификатор ОКОФ (ОС), Аппаратура теле- и радиоприемная
- v8: Помогите установить базовые едИницы измерения в 1С8.2
- Нужен ли рабочий план счетов в БГУ для ведения учета?
- Меняется шрифт при сохранении в pdf
- ЗначениеЗаполнено в запросе
- КД 2.1 конвертация не предопределенного счета v8-v8.
- Вывод в EXCEL результата отчета СКД
- Интерактивное редактирование ячейки табличного поля.
- Вопрос по БГУ 1.0 план счетов
- 1С: тайм-аут соединения http (Transferred a partial file)
- Платформа, Профессионал: понимание группы вопросов о втором шаге конструкторов.
- v7: Мой первый прямой запрос.