• Твой профиль заполнен на 0%. Заполни за 1 минуту, чтобы тебя нашли единомышленники и работодатели. Заполнить →

Проверка подписи сертификата x.509

  • Автор темы Автор темы Yuriykz
  • Дата начала Дата начала
  • Теги Теги
    openssl

Yuriykz

Newbie
24.10.2023
9
0
Здравствуйте, споткнулся при реализации алгоритма проверки подписи сертификата. Ошибка возникает на этапе «криптования» т.е. openssl pkeyutl -encrypt ….Делал по анологии с x509 Certificate Manual Signature Verification
Подскажите пожалуйтса как исправить.
Скрипт:
Код:
openssl x509 -in selfcert_nopass.pem -pubkey -noout > selfcert_nopass.pub

SIGNATURE_HEX=$( openssl x509 -in selfcert_nopass.pem -text -noout -certopt ca_default -certopt no_validity -certopt no_serial -certopt no_subject -certopt no_extensions -certopt no_signame | grep -v "Signature>

# create signature dump
echo ${SIGNATURE_HEX} | xxd -r -p > cert-sig.bin

openssl pkeyutl -encrypt -inkey selfcert_nopass.pub  -in cert-sig.bin -pubin > cert-sig-decrypted.bin

#openssl asn1parse -i -in selfcert_nopass.pem

#openssl asn1parse -in selfcert_nopass.pem -strparse 4 -out selfcert_nopass.bin -noout

#openssl dgst -sha256 selfcert_nopass.bin
Вывод терминала:

Public Key operation error
4007C9CDE97F0000:error:0200006E:rsa routines:ossl_rsa_padding_add_PKCS1_type_2_ex:data too large for key size:../crypto/rsa/rsa_pk1.c:129:
 
Здравствуйте, споткнулся при реализации алгоритма проверки подписи сертификата. Ошибка возникает на этапе «криптования» т.е. openssl pkeyutl -encrypt ….Делал по анологии с x509 Certificate Manual Signature Verification
Подскажите пожалуйтса как исправить.
Скрипт:
Код:
openssl x509 -in selfcert_nopass.pem -pubkey -noout > selfcert_nopass.pub

SIGNATURE_HEX=$( openssl x509 -in selfcert_nopass.pem -text -noout -certopt ca_default -certopt no_validity -certopt no_serial -certopt no_subject -certopt no_extensions -certopt no_signame | grep -v "Signature>

# create signature dump
echo ${SIGNATURE_HEX} | xxd -r -p > cert-sig.bin

openssl pkeyutl -encrypt -inkey selfcert_nopass.pub  -in cert-sig.bin -pubin > cert-sig-decrypted.bin

#openssl asn1parse -i -in selfcert_nopass.pem

#openssl asn1parse -in selfcert_nopass.pem -strparse 4 -out selfcert_nopass.bin -noout

#openssl dgst -sha256 selfcert_nopass.bin
Вывод терминала:
Читаем ман, получаем:

RSA algorithm, a single encryption process can only encrypt input data that is smaller than the modulus value of the RSA key
 
openssl создал сертификат с подписью(поле signature) 256 байт
rsa: 2048 бит
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →

Популярный контент

🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab