랩톱에서 TPM 2.0 칩을 사용하여 새 RSA 키 쌍을 관리하고 새 개인 키 위에 CSR을 생성하려고 하는데 TPM에서 관리하는 인증서를 나열하면 공개로 표시된 키만 표시되고 표시되지 않습니다. CSR 생성에 사용하려는 개인 키에 대한 URL을 얻는 방법을 알고 있습니다.
나는 다음 절차를 사용했습니다.
#generate rsa key:
p11tool --login --so-login --generate-rsa --bits=2048 --label=dave4 "$token"```
#list my certificates:
p11tool --list-all ""
그러나 나열하려고 할 때 얻은 모든 인증서 URL은 공개로 표시됩니다.
pkcs11:model=NPCT75x;manufacturer=Nuvoton;serial=0000000000000000;token=dave4;id=%34%39%30%66%65%35%65%34%30%30%34%64%65%33%65%30;object=myfirstkey;type=public
개인 키 목록은 어떤 객체도 반환하지 않습니다.
p11tool --list-privkeys pkcs11:model=NPCT75x;manufacturer=Nuvoton;serial=0000000000000000;token=dave4
No matching objects found
개인 키 URL 목록을 얻는 방법이나 나중에 CSR을 생성하기 위해 새로운 rsa 키 쌍을 생성하는 다른 방법을 알고 있습니까?
감사해요.
답변1
일반적으로 이러한 개체는 일반 목록에서 숨겨져 있음을 나타내는 CKA_PRIVATE 속성을 사용하여 생성됩니다.--login
이를 보려면 토큰 PIN을 제공하십시오.
p11tool --login --list-privkeys 'pkcs11:model=NPCT75x;manufacturer=Nuvoton;token=dave4'
그러나 PKCS#11 모듈에 개인 키가 저장되어 있는 경우 공개 부분과 비공개 부분의 URI는 거의 항상 정확히 동일하므로 id=
URI를 직접 편집할 수 있습니다. 개인 키에는 다른 object=
레이블이 있을 수 있으므로(따라서 해당 매개변수 제거) 당연히 type=private
.
예를 들어 다음은 작동하는 URL이어야 합니다.
pkcs11:model=NPCT75x;manufacturer=Nuvoton;serial=0000000000000000;token=dave4;id=%34%39%30%66%65%35%65%34%30%30%34%64%65%33%65%30;object=myfirstkey;type=private
또는:
pkcs11:model=NPCT75x;token=dave4;id=%34%39%30%66%65%35%65%34%30%30%34%64%65%33%65%30;type=private
pkcs11:model=NPCT75x;token=dave4;object=myfirstkey;type=private
참고하세요tpm-pkcs11아직 완성되려면 멀었어요. 최근에 많은 API 관련 버그 수정이 있었습니다(그 중 일부는 말 그대로 어제 병합되었습니다).