شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
این سند توضیح میدهد که چگونه هدف یک گواهی را قبل از آپلود گواهی در یک فروشگاه کلید یا یک فروشگاه اعتماد، اعتبارسنجی کنید. این فرآیند برای اعتبارسنجی به OpenSSL متکی است و در هر محیطی که OpenSSL در دسترس باشد، قابل اجرا است.
گواهینامههای TLS عموماً با یک یا چند هدف صادر میشوند که میتوانند برای آنها مورد استفاده قرار گیرند. معمولاً این کار برای محدود کردن تعداد عملیاتی که یک کلید عمومی موجود در گواهینامه میتواند برای آنها استفاده شود، انجام میشود. هدف گواهینامه در افزونههای گواهینامه زیر موجود است:
- کاربرد کلید
- استفاده گسترده از کلید
کاربرد کلید
افزونهی کاربرد کلید، هدف (مثلاً رمزگذاری، امضا یا امضای گواهی) کلید موجود در گواهی را تعریف میکند. اگر کلید عمومی برای احراز هویت موجودیت استفاده میشود، افزونهی گواهی باید دارای امضای دیجیتال کاربرد کلید باشد.
افزونههای مختلف استفاده از کلید برای گواهی TLS ایجاد شده با استفاده از فرآیند مرجع صدور گواهی (CA) به شرح زیر است:
- امضای دیجیتال
- عدم انکار
- رمزگذاری کلید
- رمزگذاری دادهها
- توافقنامه کلیدی
- امضای گواهی
- امضای CRL
- فقط رمزگذاری
- فقط رمزگشایی
برای اطلاعات بیشتر در مورد این افزونههای استفاده از کلید، به RFC5280، استفاده از کلید مراجعه کنید.
استفاده گسترده از کلید
این افزونه، علاوه بر یا به جای اهداف اساسی ذکر شده در افزونهی کاربرد کلید، یک یا چند هدف را که ممکن است کلید عمومی گواهیشده برای آنها استفاده شود، نشان میدهد. به طور کلی، این افزونه فقط در گواهیهای موجودیت نهایی ظاهر میشود.
برخی از افزونههای رایج استفاده از کلید توسعهیافته به شرح زیر است:
-
TLS Web server authentication -
TLS Web client authentication -
anyExtendedKeyUsage
یک کلید توسعهیافته میتواند بحرانی یا غیر بحرانی باشد.
- اگر تمدید بسیار مهم باشد، گواهی فقط باید برای هدف یا اهداف مشخص شده استفاده شود. اگر گواهی برای هدف دیگری استفاده شود، این کار ناقض سیاست CA است.
- اگر پسوند غیربحرانی باشد، نشان میدهد که هدف یا اهداف مورد نظر از کلید، اطلاعاتی است و به این معنی نیست که CA استفاده از کلید را به هدف مشخص شده محدود میکند. با این حال، برنامههایی که از گواهیها استفاده میکنند ممکن است برای قابل قبول بودن گواهی، نیاز به مشخص شدن یک هدف خاص داشته باشند.
اگر یک گواهی شامل هر دو فیلد کاربرد کلید و فیلد کاربرد کلید توسعهیافته به عنوان فیلد حیاتی باشد، هر دو فیلد باید به طور مستقل پردازش شوند و گواهی فقط میتواند برای هدفی استفاده شود که هر دو مقدار کاربرد کلید را برآورده کند. با این حال، اگر هدفی وجود نداشته باشد که بتواند هر دو مقدار کاربرد کلید را برآورده کند، آن گواهی نباید برای هیچ هدفی استفاده شود.
هنگام تهیه گواهی، اطمینان حاصل کنید که نحوه استفاده از کلید مناسب برای برآورده کردن الزامات گواهیهای کلاینت یا سرور که بدون آنها، TLS handshake با شکست مواجه میشود، تعریف شده باشد.
کاربرد کلید پیشنهادی و کاربردهای کلید توسعهیافته برای گواهیهای مورد استفاده در Apigee Edge
| هدف | کاربرد کلید (اجباری) | استفاده گسترده از کلید (اختیاری) |
| گواهی موجودیت سرور مورد استفاده در فروشگاه کلید Apigee Edge میزبان مجازی |
| احراز هویت سرور وب TLS |
| گواهی موجودیت کلاینت مورد استفاده در فروشگاه اعتماد Apigee Edge میزبان مجازی |
| احراز هویت کلاینت وب TLS |
| گواهی موجودیت سرور مورد استفاده در فروشگاه اعتماد Apigee Edge سرور هدف |
| احراز هویت سرور وب TLS |
| گواهی موجودیت کلاینت مورد استفاده در فروشگاه کلید Apigee Edge سرور هدف |
| احراز هویت کلاینت وب TLS |
| گواهیهای میانی و ریشه |
|
قبل از اینکه شروع کنی
قبل از استفاده از مراحل این سند، مطمئن شوید که مباحث زیر را درک کردهاید:
- اگر با زنجیره گواهی آشنا نیستید، زنجیره اعتماد را بخوانید.
- اگر با کتابخانه OpenSSL آشنا نیستید، OpenSSL را بخوانید.
- اگر میخواهید درباره افزونههای استفاده از کلید و کاربرد گسترده کلید بیشتر بدانید، RFC5280 را مطالعه کنید.
- اگر میخواهید از مثالهای خط فرمان این راهنما استفاده کنید، آخرین نسخه کلاینت OpenSSL را نصب یا بهروزرسانی کنید.
- مطمئن شوید که گواهیها با فرمت PEM هستند و اگر اینطور نیست، گواهیها را به فرمت PEM تبدیل کنید .
هدف از صدور گواهینامه را تأیید کنید
این بخش مراحل مورد استفاده برای اعتبارسنجی هدف گواهی را شرح میدهد.
- به سروری که OpenSSL در آن وجود دارد وارد شوید.
- برای دریافت کلید استفاده از یک گواهی، دستور OpenSSL زیر را اجرا کنید:
openssl x509 -noout -ext keyUsage < certificate
که در آن certificate نام گواهینامه است.
خروجی نمونه
openssl x509 -noout -ext keyUsage < entity.pem X509v3 Key Usage: critical Digital Signature, Key Encipherment openssl x509 -noout -ext keyUsage < intermediate.pem X509v3 Key Usage: critical Certificate Sign, CRL Sign - اگر استفاده از یک کلید اجباری باشد، آن کلید به صورت زیر به عنوان بحرانی تعریف میشود:
openssl x509 -noout -ext keyUsage < intermediate.pem X509v3 Key Usage: critical Certificate Sign, CRL Sign - دستور زیر را برای دریافت میزان استفاده از کلید توسعهیافته برای یک گواهی اجرا کنید. اگر میزان استفاده از کلید توسعهیافته به عنوان حیاتی تعریف نشده باشد، این یک توصیه است و نه یک الزام.
openssl x509 -noout -ext extendedKeyUsage < certificate
که در آن certificate نام گواهینامه است.
خروجی نمونه
openssl x509 -noout -ext extendedKeyUsage < entity.pem X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication openssl x509 -noout -ext extendedKeyUsage < intermediate.pem X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication