Mono(certmgr) Mono(certmgr)

certmgr - مدیر گواهی‌نامه مونو (نسخه خط فرمان)

certmgr [action] [object type] [options] store [filename] یا certmgr -ssl [options] url

این ابزار امکان فهرست کردن، افزودن، حذف یا استخراج گواهی‌نامه‌ها، فهرست‌های ابطال گواهی‌نامه (CRL) یا فهرست‌های اعتماد گواهی‌نامه (CTL) را به/از یک مخزن گواهی فراهم می‌کند. مخازن گواهی برای ساخت و اعتبارسنجی زنجیره‌های گواهی به‌منظور اعتبارسنجی امضای کد Authenticode(r) و گواهی‌نامه‌های سرور SSL به کار می‌روند.

پارامتر store نشان‌دهنده مخزن گواهی‌نامه مورد استفاده است. این مقدار می‌تواند یکی از موارد زیر باشد:

این مخزن گواهی‌های شخصی است.
این مخزن برای سایر افراد است.
این مخزنی برای مراجع صدور گواهی میانی است.
این مخزن برای ریشه‌های معتمد است.
این مخزن برای ریشه‌های نامعتمد است.

فهرست کردن گواهی‌ها، CRL یا CTL در مخزن مشخص‌شده.
افزودن یک گواهی‌نامه، CRL یا CTL به مخزن مشخص‌شده. اگر filename یک فایل pkcs12 یا pfx باشد و حاوی کلید خصوصی باشد، به نگهدارنده محلی جفت‌کلید وارد (import) خواهد شد.
حذف یک گواهی‌نامه، CRL یا CTL از مخزن مشخص‌شده. باید شیء مورد نظر برای حذف را با مقدار هش آن (نه نام فایل) مشخص کنید. این مقدار هش هنگام اجرای -list روی مخزن نمایش داده می‌شود.
رونوشت برداشتن از یک گواهی‌نامه، CRL یا CTL از یک مخزن به یک فایل.
بارگیری و افزودن گواهی‌نامه‌ها از یک نشست SSL. از شما خواسته می‌شود افزودن هر گواهی‌نامه دریافت‌شده از سرور را تأیید کنید. توجه داشته باشید که پروتکل‌های SSL/TLS نیازی به ارسال گواهی ریشه توسط سرور ندارند. این اقدام نوع شیء گواهی‌نامه (-c) را پیش‌فرض قرار داده و گواهی‌ها را در مخازن مناسب وارد می‌کند (یعنی گواهی سرور در مخزن OtherPeople، گواهی ریشه در مخزن Trust و هر گواهی میانی دیگر در مخزن IntermediateCA).
امکان وارد کردن یک کلید خصوصی از یک فایل pkcs12 به مخزن محلی جفت‌کلید را فراهم می‌کند. (زمانی کاربرد دارد که گواهی متناظر با کلید را پیش‌تر در مخزن مربوطه نصب کرده باشید.)

افزودن، حذف یا استخراج گواهی‌ها. بدین معنا که فایل مشخص‌شده باید/حاوی گواهی‌های X.509 با کدگذاری باینری DER خواهد بود.
افزودن، حذف یا استخراج فهرست‌های ابطال گواهی‌نامه (CRL). بدین معنا که فایل مشخص‌شده باید/حاوی X.509 CRL با کدگذاری باینری DER خواهد بود.
افزودن، حذف یا استخراج فهرست‌های اعتماد گواهی‌نامه (CTL). پشتیبانی نمی‌شود.

استفاده از مخازن گواهی ماشین (به جای مخازن پیش‌فرض کاربر).
نمایش جزئیات بیشتر در کنسول.
استفاده از گذرواژه مشخص‌شده هنگام دسترسی به یک فایل pkcs12.
نمایش راهنما درباره این ابزار.

هشدار: این بخش رفتار کنونی Mono را شرح می‌دهد و ممکن است در نسخه‌های بعدی تغییر کند. تنها راه ایمن برای تعامل با مخازن گواهی، استفاده از ابزار certmgr است. نسخه‌های کنونی Mono تمام مخازن گواهی کاربر را در دایرکتوری‌های جداگانه ذیل ~/.config/.mono/certs/ نگه‌داری می‌کنند.

برای نمونه، گواهی‌های ریشه معتمد برای یک کاربر در مسیر زیر نگه‌داری می‌شوند:
~/.config/.mono/certs/Trust/
فایل‌های گواهی در قالب DER (باینری) نگه‌داری می‌شوند (با پسوند .cer).
نام فایل‌ها یا با
tbp (اثر انگشت یا thumbprint) یا با ski (شناسه کلید موضوع یا subject key identifier) آغاز می‌شود.
بقیه نام فایل مقدار کدگذاری‌شده با base64 (مقدار tbp یا ski) است.
داده‌های کلید خصوصی در مسیر زیر ذخیره می‌شوند:
~/.config/.mono/keypairs/

فهرست کردن تمام گواهی‌ها در مخزن Trust ماشین. این دستور مقدار هش هر گواهی را نمایش می‌دهد. از این مقدار می‌توان برای شناسایی یکتای یک گواهی در برخی عملیات‌ها (مانند حذف) استفاده کرد. برای نمونه: Unique Hash: FFA3AC0084DA1673B5A031EBB2156B3E8FBBF6D8
حذف گواهی، که با مقدار هش مشخص شده است، از مخزن Trust ماشین. توجه داشته باشید که مخزن ماشین به طور معمول محدود شده است. اگر کاربر فعلی حداقل مجوزهای دسترسی را برای حذف گواهی نداشته باشد، پیام خطای زیر ظاهر خواهد شد: Access to the machine 'Trust' certificate store has been denied.
وارد کردن گواهی‌های استفاده‌شده برای HTTP روی SSL از www.verisign.com. اگر از www.verisign.com بارگیری می‌کنید، بخش مشکلات شناخته‌شده (MD2) را ببینید.
وارد کردن گواهی‌های استفاده‌شده برای LDAP امن از www.nldap.com. این کار حتی اگر ندانیم چگونه با پروتکل LDAP ارتباط برقرار کنیم نیز کار می‌کند، زیرا ارتباط را اندکی پس از دست‌تکانی SSL (که گواهی را در اختیار ما می‌گذارد) متوقف می‌کنیم.

گواهی‌های ریشه قدیمی برخی از مراجع صدور گواهی (CA) از الگوریتم هش MD2 استفاده می‌کنند. MD2 به قدری قدیمی است که بخشی از چارچوب استاندارد .NET نیست. این امر اعتبارسنجی امضای دیجیتال ایجادشده با MD2 را ناممکن می‌سازد. به همین دلیل MD2 در اسمبلی Mono.Security.dll گنجانده شده است. با این حال فایل machine.config باید به‌روزرسانی شود تا OID مربوط به MD2 در زمان اجرا شناخته شود.

برای اصلاح این مورد، قطعه‌کد XML زیر را درون عنصر <configuration> فایل machine.config خود درج کنید:
<mscorlib>
<cryptographySettings>
<cryptoNameMapping>
<cryptoClasses>
<cryptoClass monoMD2="Mono.Security.Cryptography.MD2Managed, Mono.Security, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
</cryptoClasses>
<nameEntry name="MD2" class="monoMD2" />
</cryptoNameMapping>
<oidMap>
<oidEntry OID="1.2.840.113549.2.2" name="MD2" />
</oidMap>
</cryptographySettings>
</mscorlib>

نوشته‌شده توسط Sebastien Pouliot

با افزوده‌های جزئی توسط Pablo Ruiz García

حق نشر (C) 2004-2005 Novell.

برای جزئیات بیشتر به http://lists.ximian.com/mailman/listinfo/mono-list مراجعه کنید.

برای جزئیات بیشتر به http://www.mono-project.com مراجعه کنید.

makecert(1),setreg(1)