'\" t .\" Title: PK12UTIL .\" Author: [see the "Authors" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 19 May 2021 .\" Manual: NSS Security Tools .\" Source: nss-tools .\" Language: Persian .\" .TH "PK12UTIL" "1" "19 May 2021" "nss-tools" "NSS Security Tools" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" pk12util \- وارد کردن و استخراج گواهی‌ها و کلیدها با فرمت PKCS #12 در NSS .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBpk12util\fR\ 'u \fBpk12util\fR [\-i\ p12File|\-l\ p12File|\-o\ p12File] [\-c\ keyCipher] [\-C\ certCipher] [\-d\ directory] [\-h\ tokenname] [\-m\ |\ \-\-key\-len\ keyLength] [\-M\ hashAlg] [\-n\ certname] [\-P\ dbprefix] [\-r] [\-v] [\-\-cert\-key\-len\ certKeyLength] [\-k\ slotPasswordFile|\-K\ slotPassword] [\-w\ p12filePasswordFile|\-W\ p12filePassword] .SH "وضعیت (STATUS)" .PP این مستندات هنوز در حال تکمیل است\&. لطفاً در بازبینی اولیه در \m[blue]\fBMozilla NSS bug 836477\fR\m[]\&\s-2\u[1]\d\s+2 مشارکت کنید\&. .SH "توضیحات (DESCRIPTION)" .PP ابزار PKCS #12، .BR pk12util ، امکان اشتراک‌گذاری گواهی‌ها را میان هر کارسازی که از PKCS #12 پشتیبانی می‌کند فراهم می‌سازد\&. این ابزار می‌تواند گواهی‌ها و کلیدها را از فایل‌های PKCS #12 به پایگاه‌های داده امنیتی وارد کند، گواهی‌ها را استخراج نماید و گواهی‌ها و کلیدها را فهرست کند\&. .SH "گزینه‌ها و آرگومان‌ها (OPTIONS AND ARGUMENTS)" .PP \fBگزینه‌ها\fR .PP \-i p12file .RS 4 وارد کردن کلیدها و گواهی‌ها از یک فایل PKCS #12 به پایگاه‌داده امنیتی\&. .RE .PP \-l p12file .RS 4 فهرست کردن کلیدها و گواهی‌ها در فایل PKCS #12\&. .RE .PP \-o p12file .RS 4 استخراج کلیدها و گواهی‌ها از پایگاه‌داده امنیتی به یک فایل PKCS #12\&. .RE .PP \fBآرگومان‌ها\fR .PP \-c keyCipher .RS 4 الگوریتم رمزنگاری کلید را مشخص می‌کند\&. .RE .PP \-C certCipher .RS 4 الگوریتم رمزنگاری گواهی را مشخص می‌کند\&. .RE .PP \-d directory .RS 4 دایرکتوری پایگاه‌داده‌ای را که باید گواهی‌ها و کلیدها به آن وارد یا از آن استخراج شوند مشخص می‌کند\&. .sp \fBpk12util\fR از دو نوع پایگاه‌داده پشتیبانی می‌کند: پایگاه‌های داده امنیتی قدیمی (cert8\&.db ،key3\&.db و secmod\&.db) و پایگاه‌های داده جدید SQLite (شامل cert9\&.db ،key4\&.db و pkcs11\&.txt)\&. اگر پیشوند \fBdbm:\fR استفاده نشود، ابزار فرض می‌کند که پایگاه‌های داده داده‌شده در قالب SQLite هستند\&. .RE .PP \-h tokenname .RS 4 نام توکن را برای وارد کردن به آن یا استخراج از آن مشخص می‌کند\&. .RE .PP \-k slotPasswordFile .RS 4 فایل متنی حاوی گذرواژه اسلات (slot) را مشخص می‌کند\&. .RE .PP \-K slotPassword .RS 4 گذرواژه اسلات را مشخص می‌کند\&. .RE .PP \-m | \-\-key\-len keyLength .RS 4 طول مورد نظر کلید متقارن را برای استفاده در رمزگذاری کلید خصوصی مشخص می‌کند\&. .RE .PP \-M hashAlg .RS 4 الگوریتم درهم‌سازی (هش) مورد استفاده در MAC مربوط به PKCS #12 را مشخص می‌کند\&. این الگوریتم همچنین HMAC مورد استفاده در PRF را هنگام استفاده از PKCS #5 v2 تعیین می‌نماید\&. .RE .PP \-\-cert\-key\-len certKeyLength .RS 4 طول مورد نظر کلید متقارن را برای استفاده در رمزگذاری گواهی‌ها و سایر فراداده‌ها مشخص می‌کند\&. .RE .PP \-n certname .RS 4 نام مستعار (nickname) گواهی و کلید خصوصی را برای استخراج مشخص می‌کند\&. .sp نام مستعار می‌تواند یک PKCS #11 URI نیز باشد\&. برای نمونه، اگر گواهی با نام "my\-server\-cert" در مخزن گواهی داخلی دارید، می‌تواند به‌طور صریح به‌صورت "pkcs11:token=NSS%20Certificate%20DB;object=my\-server\-cert" مشخص شود\&. برای جزئیات بیشتر درباره این قالب، به RFC 7512 مراجعه کنید\&. .RE .PP \-P prefix .RS 4 پیشوند مورد استفاده در پایگاه‌های داده گواهی و کلید را مشخص می‌کند\&. این گزینه به عنوان یک مورد خاص ارائه شده است\&. تغییر نام‌های پایگاه‌های داده گواهی و کلید توصیه نمی‌شود\&. .RE .PP \-r .RS 4 تمام داده‌ها را به شکل خام (باینری) تخلیه می‌کند\&. این خروجی باید به عنوان یک فایل DER ذخیره شود\&. حالت پیش‌فرض، بازگرداندن اطلاعات در یک قالب خوانا و آراسته ASCII (pretty\-print) است که اطلاعات مربوط به گواهی‌ها و کلیدهای عمومی موجود در فایل p12 را نمایش می‌دهد\&. .RE .PP \-v .RS 4 فعال‌سازی ثبت پیام‌های اشکال‌زدایی (debug logging) هنگام وارد کردن\&. .RE .PP \-w p12filePasswordFile .RS 4 فایل متنی حاوی گذرواژه فایل PKCS #12 را مشخص می‌کند\&. .RE .PP \-W p12filePassword .RS 4 گذرواژه فایل PKCS #12 را مشخص می‌کند\&. .RE .SH "کدهای بازگشتی (RETURN CODES)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 0 \- بدون خطا .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 1 \- لغو توسط کاربر .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 2 \- خطای نحوه استفاده .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 6 \- خطای مقداردهی اولیه NLS .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 8 \- خطای باز کردن پایگاه‌داده گواهی .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 9 \- خطای باز کردن پایگاه‌داده کلید .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 10 \- خطای مقداردهی اولیه فایل .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 11 \- خطای تبدیل یونیکد .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 12 \- خطای ایجاد فایل موقت .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 13 \- خطای دریافت اسلات PKCS11 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 14 \- خطای شروع رمزگشای PKCS12 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 15 \- خطای خواندن از فایل ورودی .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 16 \- خطای رمزگشایی PKCS12 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 17 \- خطای تایید رمزگشای PKCS12 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 18 \- خطای اعتبارسنجی بسته‌های (bags) رمزگشای PKCS12 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 19 \- خطای وارد کردن بسته‌های رمزگشای PKCS12 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 20 \- خطای تبدیل پایگاه‌داده کلید از نسخه ۳ به نسخه ۲ .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 21 \- خطای تبدیل پایگاه‌داده گواهی از نسخه ۷ به نسخه ۵ .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 22 \- خطای وصله پایگاه‌های داده گواهی و کلید .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 23 \- خطای دریافت پایگاه‌داده پیش‌فرض گواهی .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 24 \- خطای یافتن گواهی با نام مستعار .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 25 \- خطای ایجاد زمینه استخراج .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 26 \- خطای افزودن یکپارچگی گذرواژه PKCS12 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 27 \- خطای ایجاد گاوصندوق‌های (Safes) گواهی و کلید .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 28 \- خطای افزودن گواهی و کلید PKCS12 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 29 \- خطای کدگذاری PKCS12 .RE .SH "مثال‌ها (EXAMPLES)" .PP \fBوارد کردن کلیدها و گواهی‌ها\fR .PP ابتدایی‌ترین حالت استفاده از \fBpk12util\fR برای وارد کردن یک گواهی یا کلید، تعیین فایل ورودی PKCS #12 (\fB\-i\fR) و روشی برای مشخص کردن پایگاه‌داده امنیتی مورد دسترسی است (یا \fB\-d\fR برای یک دایرکتوری یا \fB\-h\fR برای یک توکن)\&. .PP pk12util \-i p12File [\-h tokenname] [\-v] [\-d directory] [\-P dbprefix] [\-k slotPasswordFile|\-K slotPassword] [\-w p12filePasswordFile|\-W p12filePassword] .PP برای مثال: .PP .sp .if n \{\ .RS 4 .\} .nf # pk12util \-i /tmp/cert\-files/users\&.p12 \-d /home/my/sharednssdb Enter a password which will be used to encrypt your keys\&. The password should be at least 8 characters long, and should contain at least one non\-alphabetic character\&. Enter new password: Re\-enter password: Enter password for PKCS12 file: pk12util: PKCS12 IMPORT SUCCESSFUL .fi .if n \{\ .RE .\} .PP \fBاستخراج کلیدها و گواهی‌ها\fR .PP استفاده از دستور \fBpk12util\fR برای استخراج گواهی‌ها و کلیدها هم نیازمند نام گواهی جهت استخراج از پایگاه‌داده (\fB\-n\fR) و هم فایل خروجی با فرمت PKCS #12 جهت نوشتن در آن است\&. پارامترهای اختیاری نیز وجود دارند که می‌توانند برای رمزگذاری فایل جهت محافظت از محتوای گواهی استفاده شوند\&. .PP pk12util \-o p12File \-n certname [\-c keyCipher] [\-C certCipher] [\-m|\-\-key_len keyLen] [\-n|\-\-cert_key_len certKeyLen] [\-d directory] [\-P dbprefix] [\-k slotPasswordFile|\-K slotPassword] [\-w p12filePasswordFile|\-W p12filePassword] .PP برای مثال: .sp .if n \{\ .RS 4 .\} .nf # pk12util \-o certs\&.p12 \-n Server\-Cert \-d /home/my/sharednssdb Enter password for PKCS12 file: Re\-enter password: .fi .if n \{\ .RE .\} .PP \fBفهرست کردن کلیدها و گواهی‌ها\fR .PP اطلاعات موجود در یک فایل \&.p12 برای انسان خوانا نیست\&. گواهی‌ها و کلیدهای موجود در فایل می‌توانند در قالب خوانا و آراسته (pretty\-print) چاپ (فهرست) شوند که اطلاعات مربوط به هر گواهی و هرگونه کلید عمومی موجود در فایل \&.p12 را نمایش می‌دهد\&. .PP pk12util \-l p12File [\-h tokenname] [\-r] [\-d directory] [\-P dbprefix] [\-k slotPasswordFile|\-K slotPassword] [\-w p12filePasswordFile|\-W p12filePassword] .PP برای مثال، این دستور خروجی پیش‌فرض ASCII را چاپ می‌کند: .sp .if n \{\ .RS 4 .\} .nf # pk12util \-l certs\&.p12 Enter password for PKCS12 file: Key(shrouded): Friendly Name: Thawte Freemail Member\*(Aqs Thawte Consulting (Pty) Ltd\&. ID Encryption algorithm: PKCS #12 V2 PBE With SHA\-1 And 3KEY Triple DES\-CBC Parameters: Salt: 45:2e:6a:a0:03:4d:7b:a1:63:3c:15:ea:67:37:62:1f Iteration Count: 1 (0x1) Certificate: Data: Version: 3 (0x2) Serial Number: 13 (0xd) Signature Algorithm: PKCS #1 SHA\-1 With RSA Encryption Issuer: "E=personal\-freemail@thawte\&.com,CN=Thawte Personal Freemail C A,OU=Certification Services Division,O=Thawte Consulting,L=Cape T own,ST=Western Cape,C=ZA" .fi .if n \{\ .RE .\} .PP همچنین، گزینه \fB\-r\fR گواهی‌ها را چاپ کرده و سپس آن‌ها را در فایل‌های باینری DER جداگانه استخراج می‌کند\&. این کار اجازه می‌دهد تا گواهی‌ها به برنامه دیگری که از فایل‌های \&.p12 پشتیبانی می‌کند داده شوند\&. هر گواهی در فایلی با شماره‌گذاری ترتیبی، با شروع از file0001\&.der تا file000N\&.der، با افزایش شماره برای هر گواهی نوشته می‌شود: .sp .if n \{\ .RS 4 .\} .nf pk12util \-l test\&.p12 \-r Enter password for PKCS12 file: Key(shrouded): Friendly Name: Thawte Freemail Member\*(Aqs Thawte Consulting (Pty) Ltd\&. ID Encryption algorithm: PKCS #12 V2 PBE With SHA\-1 And 3KEY Triple DES\-CBC Parameters: Salt: 45:2e:6a:a0:03:4d:7b:a1:63:3c:15:ea:67:37:62:1f Iteration Count: 1 (0x1) Certificate Friendly Name: Thawte Personal Freemail Issuing CA \- Thawte Consulting Certificate Friendly Name: Thawte Freemail Member\*(Aqs Thawte Consulting (Pty) Ltd\&. ID .fi .if n \{\ .RE .\} .SH "رمزگذاری مبتنی بر گذرواژه (PASSWORD ENCRYPTION)" .PP استاندارد PKCS #12 نه تنها برای محافظت از کلیدهای خصوصی بلکه برای محافظت از گواهی‌ها و فراداده‌های مرتبط با کلیدها نیز سازوکار ارائه می‌دهد\&. رمزگذاری مبتنی بر گذرواژه برای محافظت از کلیدهای خصوصی در هنگام استخراج به فایل PKCS #12 و در صورت تمایل، گواهی‌های مرتبط استفاده می‌شود\&. اگر هیچ الگوریتمی مشخص نشود، این ابزار به‌طور پیش‌فرض از PKCS #12 SHA\-1 و DES سه‌گانه سه‌کلیدی برای رمزگذاری کلید خصوصی استفاده می‌کند\&. در صورتی که در حالت FIPS نباشد، از PKCS #12 SHA\-1 و RC4 چهل‌بیتی برای رمزگذاری گواهی استفاده می‌شود\&. در حالت FIPS، هیچ رمزگذاری روی گواهی انجام نمی‌گیرد\&. اگر رمزگذاری گواهی مورد نظر نباشد، مقدار \fB"NONE"\fR را به عنوان آرگومان گزینه \fB\-C\fR مشخص کنید\&. .PP کلید خصوصی همیشه به‌طور پیش‌فرض با رمزگذاری قوی محافظت می‌شود\&. .PP چندین نوع رمزنگاری (ciphers) پشتیبانی می‌شوند\&. .PP رمزگذاری مبتنی بر گذرواژه PKCS #5 .RS 4 .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} طرح PBES2 با AES\-CBC\-Pad به عنوان الگوریتم رمزگذاری زیربنایی (\fB"AES\-128\-CBC"\fR، \fB"AES\-192\-CBC"\fR و \fB"AES\-256\-CBC"\fR) .RE .RE .PP رمزگذاری مبتنی بر گذرواژه PKCS #12 .RS 4 .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} الگوریتم SHA\-1 و RC4 صدوبیست‌وهشت‌بیتی (\fB"PKCS #12 V2 PBE With SHA\-1 And 128 Bit RC4"\fR یا \fB"RC4"\fR) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} الگوریتم SHA\-1 و RC4 چهل‌بیتی (\fB"PKCS #12 V2 PBE With SHA\-1 And 40 Bit RC4"\fR) (استفاده‌شده به‌طور پیش‌فرض برای رمزگذاری گواهی در حالت غیر FIPS) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} الگوریتم SHA\-1 و DES سه‌گانه سه‌کلیدی (\fB"PKCS #12 V2 PBE With SHA\-1 And 3KEY Triple DES\-CBC"\fR یا \fB"DES\-EDE3\-CBC"\fR) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} الگوریتم SHA\-1 و RC2 صدوبیست‌وهشت‌بیتی (\fB"PKCS #12 V2 PBE With SHA\-1 And 128 Bit RC2 CBC"\fR یا \fB"RC2\-CBC"\fR) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} الگوریتم SHA\-1 و RC2 چهل‌بیتی (\fB"PKCS #12 V2 PBE With SHA\-1 And 40 Bit RC2 CBC"\fR) .RE .RE .PP در PKCS #12، ارائه‌دهنده رمزنگاری می‌تواند ماژول توکن نرم‌افزاری یا یک ماژول سخت‌افزاری خارجی باشد\&. اگر ماژول رمزنگاری از الگوریتم درخواستی پشتیبانی نکند، مناسب‌ترین گزینه بعدی انتخاب خواهد شد (معمولاً حالت پیش‌فرض)\&. اگر جایگزین مناسبی برای الگوریتم مورد نظر پیدا نشود، ابزار خطای \fIno security module can perform the requested operation\fR را بازمی‌گرداند\&. .SH "انواع پایگاه‌داده NSS (NSS DATABASE TYPES)" .PP سامانه NSS در ابتدا از پایگاه‌های داده BerkeleyDB برای ذخیره اطلاعات امنیتی استفاده می‌کرد\&. آخرین نسخه‌های این پایگاه‌های داده \fIقدیمی (legacy)\fR عبارتند از: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} فایل cert8\&.db برای گواهی‌ها .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} فایل key3\&.db برای کلیدها .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} فایل secmod\&.db برای اطلاعات ماژول PKCS #11 .RE .PP با این حال، پایگاه‌داده BerkeleyDB محدودیت‌های کارایی دارد که مانع از استفاده همزمان و آسان آن توسط چندین برنامه می‌شود\&. سامانه NSS دارای انعطاف‌پذیری‌هایی است که به برنامه‌ها اجازه می‌دهد ضمن حفظ یک پایگاه‌داده مشترک و دور زدن مشکلات دسترسی، از موتور پایگاه‌داده مستقل خود استفاده کنند\&. با این وجود، NSS برای ارائه یک پایگاه‌داده امنیتی واقعاً مشترک، به انعطاف‌پذیری بیشتری نیاز دارد\&. .PP در سال ۲۰۰۹، سامانه NSS مجموعه جدیدی از پایگاه‌های داده را معرفی کرد که به جای BerkeleyDB، از نوع پایگاه‌های داده SQLite هستند\&. این پایگاه‌های داده جدید دسترسی‌پذیری و کارایی بیشتری را فراهم می‌کنند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} فایل cert9\&.db برای گواهی‌ها .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} فایل key4\&.db برای کلیدها .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} فایل pkcs11\&.txt، فهرستی از تمامی ماژول‌های PKCS #11، موجود در یک زیرشاخه جدید در دایرکتوری پایگاه‌های داده امنیتی .RE .PP از آنجا که پایگاه‌های داده SQLite برای اشتراک‌گذاری طراحی شده‌اند، این پایگاه‌ها از نوع \fIمشترک (shared)\fR محسوب می‌شوند\&. استفاده از نوع پایگاه‌داده مشترک اولویت دارد؛ و قالب قدیمی صرفاً برای سازگاری با گذشته حفظ شده است\&. .PP به‌طور پیش‌فرض، ابزارها (مانند .BR certutil ، \fBpk12util\fR و .BR modutil ) فرض می‌کنند که پایگاه‌های داده امنیتی مشخص‌شده از نوع SQLite هستند\&. استفاده از پایگاه‌های داده قدیمی باید به‌صورت دستی با افزودن پیشوند \fBdbm:\fR به مسیر پوشه امنیتی مورد نظر مشخص شود\&. برای مثال: .sp .if n \{\ .RS 4 .\} .nf # pk12util \-i /tmp/cert\-files/users\&.p12 \-d dbm:/home/my/sharednssdb .fi .if n \{\ .RE .\} .PP برای تنظیم نوع پایگاه‌داده قدیمی به‌عنوان نوع پیش‌فرض ابزارها، متغیر محیطی \fBNSS_DEFAULT_DB_TYPE\fR را روی \fBdbm\fR تنظیم کنید: .sp .if n \{\ .RS 4 .\} .nf export NSS_DEFAULT_DB_TYPE="dbm" .fi .if n \{\ .RE .\} .PP این خط را می‌توان به فایل ~/\&.bashrc اضافه کرد تا این تغییر دائمی شود\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} https://wiki\&.mozilla\&.org/NSS_Shared_DB_Howto .RE .PP برای مطالعه پیش‌نویس مهندسی درباره تغییرات اعمال‌شده در پایگاه‌های داده مشترک NSS، به ویکی پروژه NSS مراجعه فرمایید: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} https://wiki\&.mozilla\&.org/NSS_Shared_DB .RE .SH "نکات سازگاری (COMPATIBILITY NOTES)" .PP رفتار استخراج \fBpk12util\fR به مرور زمان تغییر کرده است، در حالی که وارد کردن فایل‌های استخراج‌شده با نسخه‌های قدیمی‌تر NSS همچنان پشتیبانی می‌شود\&. .PP تا قبل از انتشار نسخه ۳\&.۳۰، ابزار \fBpk12util\fR از کدگذاری UTF\-16 برای طرح‌های رمزگذاری مبتنی بر گذرواژه PKCS #5 استفاده می‌کرد، در حالی که توصیه می‌شود در صورتی که طرح رمزگذاری استفاده‌شده خارج از استاندارد PKCS #12 تعریف شده است، گذرواژه‌ها به صورت UTF\-8 کدگذاری شوند\&. .PP تا قبل از انتشار نسخه ۳\&.۳۱، حتی زمانی که \fB"AES\-128\-CBC"\fR یا \fB"AES\-192\-CBC"\fR از خط فرمان داده می‌شد، \fBpk12util\fR همیشه از AES دویست‌وپنجاه‌وشش‌بیتی (256\-bit AES) به عنوان طرح رمزگذاری زیربنایی استفاده می‌کرد\&. .PP به دلایل تاریخی، \fBpk12util\fR طرح‌های رمزگذاری مبتنی بر گذرواژه‌ای را که در این سند ذکر نشده‌اند نیز می‌پذیرد\&. با این حال، این طرح‌ها رسماً پشتیبانی نمی‌شوند و ممکن است در سازگاری با سایر ابزارها با مشکل مواجه شوند\&. .SH "همچنین ببینید (SEE ALSO)" .PP .BR certutil (1) .PP .BR modutil (1) .PP ویکی NSS حاوی اطلاعاتی در مورد طراحی پایگاه‌داده جدید و نحوه پیکربندی برنامه‌ها برای استفاده از آن است\&. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} https://wiki\&.mozilla\&.org/NSS_Shared_DB_Howto .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} https://wiki\&.mozilla\&.org/NSS_Shared_DB .RE .SH "منابع بیشتر (ADDITIONAL RESOURCES)" .PP برای کسب اطلاعات درباره NSS و سایر ابزارهای مرتبط با NSS (مانند JSS)، به ویکی پروژه NSS در نشانی \m[blue]\fBhttp://www\&.mozilla\&.org/projects/security/pki/nss\fR\m[] مراجعه فرمایید\&. وب‌سایت NSS مستقیماً به تغییرات کد و انتشار نسخه‌های NSS مرتبط است\&. .PP فهرست‌های پستی: https://lists\&.mozilla\&.org/listinfo/dev\-tech\-crypto .PP کانال IRC: سرور Freenode در #dogtag\-pki .SH "نویسندگان (AUTHORS)" .PP ابزارهای NSS توسط توسعه‌دهندگانی از Netscape، Red Hat، Sun، Oracle، Mozilla و Google نوشته شده و نگهداری می‌شوند\&. .PP نویسندگان: Elio Maldonado ، Deon Lackey \&. .SH "مجوز (LICENSE)" .PP تحت مجوز عمومی موزیلا (Mozilla Public License)، نسخه ۲\&.۰ منتشر شده است\&. اگر نسخه‌ای از MPL همراه با این فایل توزیع نشده است، می‌توانید آن را از نشانی http://mozilla\&.org/MPL/2\&.0 دریافت کنید\&. .SH "یادداشت‌ها (NOTES)" .IP " 1." 4 گزارش اشکال شماره ۸۳۶۴۷۷ موزیلا NSS .RS 4 \%https://bugzilla.mozilla.org/show_bug.cgi?id=836477 .RE