| tpm2tss-genkey(1) | General Commands Manual | tpm2tss-genkey(1) |
نام (NAME)
tpm2tss-genkey - تولید کلیدهای TPM برای tpm2-tss-engine
خلاصه دستور (SYNOPSIS)
tpm2tss-genkey [گزینهها] <نام_فایل>
توضیحات (DESCRIPTION)
دستور tpm2tss-genkey یک کلید در داخل TPM 2.0 که از طریق پشته نرمافزاری tpm2tss متصل است ایجاد میکند. این کلیدها میتوانند یک کلید RSA برای رمزگشایی یا امضا، یا یک کلید ECC برای امضاهای ECDSA باشند.
این ابزار از گزینه OPENSSL_CONF برای تعیین پارامترهای کنترلی ویژه موتور پشتیبانی میکند. برای جزئیات درباره فایلهای پیکربندی openssl به man(5) config مراجعه کنید.
آرگومانها (ARGUMENTS)
دستور tpm2tss-genkey برای ذخیره اطلاعات کلید TPM حاصل، انتظار یک نام فایل را دارد. سپس این فایل میتواند با استفاده از دستور زیر در OpenSSL بارگذاری شود: openssl pkeyutl -engine tpm2tss -keyform engine -inkey <filename>.
گزینهها (OPTIONS)
- •
- -a <algorithm>, --alg <algorithm>: الگوریتم کلید عمومی (rsa، ecdsa) (پیشفرض: rsa)
- •
- -c <curve>, --curve <curve>: در صورت انتخاب الگوریتم ecdsa، منحنی برای ecc (پیشفرض: nist_p256)
- •
- -u <file>, --public <file>: کلید عمومی (TPM2B_PUBLIC) برای وارد کردن. نیازمند -r است.
- •
- -r <file>, --private <file>: کلید خصوصی (رمزگذاریشده) (TPM2B_PRIVATE) برای وارد کردن. نیازمند -u است.
- •
- -e <exponent>, --exponent <exponent>: در صورت انتخاب الگوریتم rsa، توان برای rsa (پیشفرض: 65537)
- •
- -h, --help: چاپ پیام راهنما
- •
- -o <password>, --ownerpw <password>: گذرواژه برای سلسلهمراتب مالک (پیشفرض: هیچ)؛ دستور کنترلی پیکربندی OpenSSL: SET_OWNERAUTH
- •
- -p <password>, --password <password>: گذرواژه برای کلید ایجادشده (پیشفرض: هیچ)
- •
- -P <handle>, --parent <handle>: هندل مشخص برای کلید والد (پیشفرض: هیچ)
- •
- -s <keysize>, --keysize <keysize>: در صورت انتخاب الگوریتم rsa، اندازه کلید به بیت (پیشفرض: 2048)
- •
- -v, --verbose: چاپ پیامها با جزئیات کامل
- •
- -W <password>, --parentpw <password>: گذرواژه برای کلید والد (پیشفرض: هیچ)؛ دستور کنترلی پیکربندی OpenSSL: SET_PARENTAUTH
- •
- -t <tcti-conf>, --tcti <tcti-conf>: رشته پیکربندی TCTI (پیشفرض: هیچ)؛ دستور کنترلی پیکربندی OpenSSL: SET_TCTI
مثالها (EXAMPLES)
اطلاعات موتور را میتوان با دستور زیر دریافت کرد:
-
$ openssl engine -t -c tpm2tss
توالی دستورات زیر با استفاده از TPM یک کلید RSA ایجاد میکند، کلید عمومی را صادر مینماید، یک فایل داده را رمزگذاری کرده و با استفاده از TPM آن را رمزگشایی میکند:
-
$ tpm2tss-genkey -a rsa -s 2048 mykey $ openssl rsa -engine tpm2tss -inform engine -in mykey -pubout -outform pem -out mykey.pub $ openssl pkeyutl -pubin -inkey mykey.pub -in mydata -encrypt -out mycipher $ openssl pkeyutl -engine tpm2tss -keyform engine -inkey mykey -decrypt -in mycipher -out mydata
توالی دستورات زیر با استفاده از TPM یک کلید RSA ایجاد میکند، کلید عمومی را صادر مینماید، یک فایل داده را با استفاده از TPM امضا کرده و امضا را اعتبارسنجی میکند:
-
$ tpm2tss-genkey -a rsa -s 2048 mykey $ openssl rsa -engine tpm2tss -inform engine -in mykey -pubout -outform pem -out mykey.pub $ openssl pkeyutl -engine tpm2tss -keyform engine -inkey mykey -sign -in mydata -out mysig $ openssl pkeyutl -engine tpm2tss -keyform engine -inkey mykey -verify -in mydata -sigfile mysig
توالی دستورات زیر با استفاده از TPM یک کلید ECDSA ایجاد میکند، کلید عمومی را صادر مینماید، یک فایل داده را با استفاده از TPM امضا کرده و امضا را اعتبارسنجی میکند:
-
$ tpm2tss-genkey -a ecdsa -c nist_p256 mykey $ openssl pkeyutl -engine tpm2tss -keyform engine -inkey mykey -sign -in mydata -out mysig $ openssl pkeyutl -engine tpm2tss -keyform engine -inkey mykey -verify -in mydata -sigfile mysig
مقادیر بازگشتی (RETURNS)
۰ در صورت موفقیت یا ۱ در صورت شکست.
نویسنده (AUTHOR)
نوشتهشده توسط Andreas Fuchs.
حق نشر (COPYRIGHT)
حق نشر tpm2tss متعلق به (C) 2017-2018 Fraunhofer SIT است و توسط Infineon Technologies AG حمایت مالی شده است.
مجوز BSD 3-clause.
همچنین ببینید (SEE ALSO)
openssl(1)
| OCTOBER 2020 | tpm2-tss-engine |