Spielt man mit TPM 2.0 im Zusammenhang mit OpenSSL, stößt man heutzutage unweigerlich auf folgenden Fehler:
error:4000000C:tpm2::cannot load key::-1:708 tpm:parameter(2):value is out of range or is not correct for the context
Das liegt daran, dass an mindestens einer Stelle der Zertifikatskette ein Schlüssel mit einer Länge von mehr als 2048 Bit genutzt wird. Meistens 4096 oder auch 3072. Das von der Trusted Computing Group festgelegte Minimum welches unterstützt werden muss, ist 2048. Sobald man TPM als „Provider“ für OpenSSL nutzt werden jegliche Verifizierungen über das TPM-Modul abgehandelt. Unterstützt dieses nur 2048 muss die gesamte Verifizierungskette auf diesen gemeinsamen Nenner gebracht werden.
Ein Test für das eigene TPM-Modul:
$ tpm2_testparms rsa4096
ERROR: Unsupported algorithm specification
ERROR: Unable to run tpm2_testparms
$ tpm2_testparms rsa3072
ERROR: Unsupported algorithm specification
ERROR: Unable to run tpm2_testparms
$ tpm2_testparms rsa2048
$
Im Beispiel: Nur 2048 Bit erlaubt.
Quellen: