Создать пару ключей с помощью keytool, заботясь о PKCS1 v1.5 / Расшифровка не удалась

Мне нужно подключить наш SimpleSAMLphp SP к IdP SAML 2.0 для клиентов. Мы делали это несколько раз раньше, и это работало хорошо. Обычно сертификаты наших клиентов были созданы с использованием OpenSSL, и у нас не было никаких проблем раньше.

Наш нынешний клиент использует Javas keytool создать свой сертификат для обмена метаданными.

Сертификат был создан с помощью следующей команды:

keytool -genkeypair -keystore saml.jks -alias idp-signing -dname "cn=idp-signing-INT" -validity 1825 -keyalg RSA -sigalg SHA256withRSA -keysize 2048

Когда я проверяю сертификат, он выглядит примерно так:

keytool -list -v -keystore saml.jks -alias idp-signing

Alias name: idp-signing
Creation date: 27-Jun-2017
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=idp-signing-INT
Issuer: CN=idp-signing-INT
Serial number: 5f09e950
Valid from: Tue Jun 27 12:00:34 CEST 2017 until: Sun Jun 26 12:00:34 CEST 2022
Certificate fingerprints:
     MD5:  85:E8:5D:EB:11:9B:CA:3C:02:06:65:A7:82:A4:4B:2B
     SHA1: 41:79:18:80:65:C4:D6:27:CD:27:05:11:AD:5A:43:33:60:C7:89:AA
     SHA256: 65:53:6E:FD:98:1E:0E:FE:B8:0F:50:11:EC:9A:06:FD:7C:27:F5:F5:D6:C8:11:AB:FA:D6:CE:80:86:09:CC:DF
     Signature algorithm name: SHA256withRSA
     Version: 3

Extensions:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 7C 88 3B 15 B4 22 FD 83   B6 BE 35 7F 3E E4 72 1E  ..;.."....5.>.r.
0010: 30 7C 84 89                                        0...
]
]

Теперь при попытке аутентификации через IdP наших клиентов наш SP не принимает сертификат IdP с сообщением журнала: Decryption failed: Algorithm disabled, Оказывается, что simpleSAMLphp не принимает сертификаты с использованием шифрования PKCS#1 v1.5.

Я мог бы решить проблему довольно просто, удалив этот алгоритм из черного списка simpleSAMLphps. Но... Если честно... Это не очень хорошее решение. Было бы неплохо иметь возможность генерировать сертификат с помощью keytool это не использует PKCS#1 1.5 и просто удовлетворяет рекомендациям.

К сожалению, я не специалист по шифрованию и обычно не использую java/keytool.

Может, кто-нибудь подскажет, как наш клиент должен правильно оформить свой сертификат?

Было бы очень приятно! Заранее спасибо!

0 ответов

Другие вопросы по тегам