'\" t
.\" Title: MODUTIL
.\" Author: [بخش "نویسندگان" را ببینید]
.\" Generator: DocBook XSL Stylesheets vsnapshot
.\" Date: مه ۲۰۲۵
.\" Manual: ابزارهای امنیتی NSS
.\" Source: nss
.\" Language: Persian
.\"
.TH "MODUTIL" "1" "مه ۲۰۲۵" "nss" "دستورات کاربر"
.\" -----------------------------------------------------------------
.\" * 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)"
modutil \- مدیریت ماژولهای پایگاهداده امنیتی PKCS #11 در NSS
.SH "خلاصه دستور (SYNOPSIS)"
.HP \w'\fBmodutil\fR\ 'u
\fBmodutil\fR [\fIگزینهها\fR] [[\fIآرگومانها\fR]]
.SH "وضعیت (STATUS)"
.PP
این مستندات هنوز در حال تکمیل هستند\&. لطفاً در بررسی اولیه در
\m[blue]\fBخطای ۸۳۶۴۷۷ موزیلا NSS\fR\m[]\&\s-2\u[1]\d\s+2
مشارکت فرمایید\&.
.SH "توضیحات (DESCRIPTION)"
دستور \fBmodutil\fR ابزاری برای مدیریت پایگاهداده ماژولهای امنیتی PKCS #11 (فایلهای secmod.db) در سرویسهای امنیت شبکه NSS است\&.
.PP
ابزار پایگاهداده ماژول امنیتی،
\fBmodutil\fR،
یک ابزار خط فرمانی برای مدیریت اطلاعات ماژول PKCS #11 هم در فایلهای
secmod\&.db
و هم درون توکنهای سختافزاری است\&.
\fBmodutil\fR
میتواند ماژولهای PKCS #11 را اضافه یا حذف کند، گذرواژههای پایگاههای داده امنیتی را تغییر دهد، مقادیر پیشفرض را تعیین نماید، محتویات ماژول را فهرست کند، اسلاتها را فعال یا غیرفعال سازد، انطباق با استاندارد FIPS 140\-2 را فعال یا غیرفعال کند و ارائهدهندگان پیشفرض را برای عملیات رمزنگاری تخصیص دهد\&. این ابزار همچنین میتواند فایلهای پایگاهداده گواهی، کلید و ماژول امنیتی را ایجاد نماید\&.
.PP
وظایف مرتبط با مدیریت پایگاهداده ماژولهای امنیتی بخشی از فرایندی هستند که معمولاً شامل مدیریت پایگاههای داده کلید و پایگاههای داده گواهی نیز میشود\&.
.SH "گزینهها (OPTIONS)"
.PP
اجرای
\fBmodutil\fR
همواره نیازمند یک (و تنها یک) گزینه برای تعیین نوع عملیات ماژول است\&. هر گزینه ممکن است آرگومانهایی دریافت کند، از هیچ تا چندین آرگومان\&.
.PP
\fBگزینهها\fR
.PP
\-add modulename
.RS 4
ماژول PKCS #11 نامبرده را به پایگاهداده اضافه میکند\&. از این گزینه به همراه آرگومانهای
\fB\-libfile\fR،
\fB\-ciphers\fR
و
\fB\-mechanisms\fR
استفاده کنید\&.
.RE
.PP
\-changepw tokenname
.RS 4
گذرواژه توکن نامبرده را تغییر میدهد\&. اگر توکن مقداردهی اولیه نشده باشد، این گزینه گذرواژه را مقداردهی اولیه میکند\&. از این گزینه به همراه آرگومانهای
\fB\-pwfile\fR
و
\fB\-newpwfile\fR
استفاده کنید\&. یک
\fIگذرواژه\fR
معادل یک شماره شناسایی شخصی (PIN) است\&.
.RE
.PP
\-chkfips
.RS 4
بررسی میکند که آیا ماژول در حالت FIPS مشخصشده قرار دارد یا خیر\&.
\fBtrue\fR
به معنای بررسی قرار داشتن ماژول در حالت FIPS است، در حالی که
\fBfalse\fR
بررسی میکند که ماژول در حالت FIPS نباشد\&.
.RE
.PP
\-create
.RS 4
پایگاههای داده جدید گواهی، کلید و ماژول را ایجاد میکند\&. از آرگومان دایرکتوری
\fB\-dbdir\fR
برای تعیین یک پوشه استفاده کنید\&. اگر هر یک از این پایگاههای داده قبلاً در پوشه مشخصشده وجود داشته باشند،
\fBmodutil\fR
پیام خطا برمیگرداند\&.
.RE
.PP
\-default modulename
.RS 4
سازوکارهای امنیتی را مشخص میکند که ماژول نامبرده ارائهدهنده پیشفرض آنها خواهد بود\&. سازوکارهای امنیتی با آرگومان
\fB\-mechanisms\fR
تعیین میشوند\&.
.RE
.PP
\-delete modulename
.RS 4
ماژول نامبرده را حذف میکند\&. ماژول پیشفرض NSS PKCS #11 قابل حذف نیست\&.
.RE
.PP
\-disable modulename
.RS 4
تمام اسلاتهای ماژول نامبرده را غیرفعال میکند\&. از آرگومان
\fB\-slot\fR
برای غیرفعال کردن یک اسلات خاص استفاده کنید\&.
.sp
ماژول داخلی NSS PKCS #11 قابل غیرفعال کردن نیست\&.
.RE
.PP
\-enable modulename
.RS 4
تمام اسلاتهای ماژول نامبرده را فعال میکند\&. از آرگومان
\fB\-slot\fR
برای فعال کردن یک اسلات خاص استفاده کنید\&.
.RE
.PP
\-fips [true | false]
.RS 4
انطباق با استاندارد FIPS 140\-2 را برای ماژول پیشفرض NSS فعال (true) یا غیرفعال (false) میکند\&.
.RE
.PP
\-force
.RS 4
پرسشهای تعاملی
\fBmodutil\fR
را غیرفعال میکند تا بتوان آن را از طریق یک اسکریپت اجرا کرد\&. از این گزینه تنها پس از آزمایش دستی تکتک عملیاتهای برنامهریزیشده استفاده کنید تا هشدارها بررسی شوند و اطمینان حاصل شود که نادیده گرفتن پرسشها موجب رخنه امنیتی یا از دست رفتن یکپارچگی پایگاهداده نمیشود\&.
.RE
.PP
\-jar JAR\-file
.RS 4
یک ماژول PKCS #11 جدید را با استفاده از فایل JAR نامبرده به پایگاهداده اضافه میکند\&. از این دستور به همراه آرگومانهای
\fB\-installdir\fR
و
\fB\-tempdir\fR
استفاده کنید\&. فایل JAR از ساختار NSS PKCS #11 JAR برای شناسایی تمام فایلهای نصبی، نام ماژول، فلگهای سازوکار و فلگهای الگوریتم رمزنگاری، و همچنین تمامی فایلهایی که باید روی سیستم مقصد نصب شوند (شامل فایل کتابخانه ماژول PKCS #11 و سایر فایلها نظیر مستندات) استفاده میکند\&. این موضوع در بخش قالب فایل نصب JAR در همین صفحه راهنما پوشش داده شده است که جزئیات اسکریپت خاص مورد نیاز برای انجام نصب از طریق سرور یا با
\fBmodutil\fR
را شرح میدهد\&.
.RE
.PP
\-list [modulename]
.RS 4
اطلاعات پایهای درباره محتویات فایل
secmod\&.db
نمایش میدهد\&. تعیین یک
\fImodulename\fR
اطلاعات دقیق در مورد یک ماژول خاص و اسلاتها و توکنهای آن را نشان میدهد\&.
.RE
.PP
\-rawadd
.RS 4
رشته مشخصات ماژول (module spec) را به پایگاهداده
secmod\&.db
اضافه میکند\&.
.RE
.PP
\-rawlist
.RS 4
مشخصات ماژول را برای یک ماژول خاص یا برای تمامی ماژولهای قابل بارگذاری نمایش میدهد\&.
.RE
.PP
\-undefault modulename
.RS 4
سازوکارهای امنیتی را مشخص میکند که ماژول نامبرده ارائهدهنده پیشفرض آنها نخواهد بود\&. سازوکارهای امنیتی با آرگومان
\fB\-mechanisms\fR
مشخص میشوند\&.
.RE
.PP
\fBآرگومانها\fR
.PP
MODULE
.RS 4
ماژول امنیتی مورد دسترسی را مشخص میکند\&.
.RE
.PP
MODULESPEC
.RS 4
مشخصات ماژول امنیتی (module spec) جهت بارگذاری در پایگاهداده امنیتی را مشخص میکند\&.
.RE
.PP
\-ciphers cipher\-enable\-list
.RS 4
رمزهای مشخصی را در ماژولی که در حال افزودن به پایگاهداده است فعال میکند\&. عبارت
\fIcipher\-enable\-list\fR
فهرستی از نامهای الگوریتم رمزنگاری است که با دونقطه (:) از هم جدا شدهاند\&. اگر این فهرست شامل فاصله است آن را در علامت نقلقول قرار دهید\&.
.RE
.PP
\-dbdir directory
.RS 4
دایرکتوری پایگاهداده را برای دسترسی یا ایجاد فایلهای پایگاهداده ماژول امنیتی مشخص میکند\&.
.sp
ابزار
\fBmodutil\fR
از دو نوع پایگاهداده پشتیبانی میکند: پایگاههای داده امنیتی سنتی (cert8\&.db،
key3\&.db
و
secmod\&.db)
و پایگاههای داده SQLite
(cert9\&.db،
key4\&.db
و
pkcs11\&.txt)\&.
اگر پیشوند
\fBdbm:\fR
استفاده نشود، ابزار فرض میکند که پایگاههای داده دادهشده در قالب SQLite هستند\&.
.RE
.PP
\-\-dbprefix prefix
.RS 4
پیشوند استفادهشده روی فایلهای پایگاهداده را مشخص میکند، مانند
my_
برای
my_cert9\&.db\&.
این گزینه برای موارد خاص در نظر گرفته شده است؛ تغییر دادن نامهای پایگاههای داده گواهی و کلید توصیه نمیشود\&.
.RE
.PP
\-installdir root\-installation\-directory
.RS 4
دایرکتوری ریشه نصب را که فایلها با گزینه
\fB\-jar\fR
نسبت به آن نصب میشوند مشخص میکند\&. این پوشه باید مکانی باشد که ذخیره فایلهای کتابخانه پویا در زیرشاخه آن مناسب است، مانند پوشه ریشه یک سرور\&.
.RE
.PP
\-libfile library\-file
.RS 4
مسیری به یک فایل کتابخانه حاوی پیادهسازی ماژول رابط PKCS #11 که در حال افزودن به پایگاهداده است را مشخص میکند\&.
.RE
.PP
\-mechanisms mechanism\-list
.RS 4
سازوکارهای امنیتی را مشخص میکند که ماژول خاصی به عنوان ارائهدهنده پیشفرض آنها علامتگذاری میشود\&. عبارت
\fImechanism\-list\fR
فهرستی از نامهای سازوکارها است که با دونقطه (:) جدا شدهاند\&. اگر این فهرست شامل فاصله است آن را در علامت نقلقول قرار دهید\&.
.sp
هنگامی که این سازوکارها فعال شوند، ماژول ارائهدهنده پیشفرض آنها میگردد\&. اگر بیش از یک ماژول ادعای ارائهدهنده پیشفرض بودن یک سازوکار خاص را داشته باشد، ارائهدهنده پیشفرض آن سازوکار تعریفنشده خواهد بود\&.
.sp
دستور
\fBmodutil\fR
از چندین سازوکار پشتیبانی میکند: RSA، DSA، RC2، RC4، RC5، AES، DES، DH، SHA1، SHA256، SHA512، SSL، TLS، MD5، MD2، RANDOM (برای تولید اعداد تصادفی)، و FRIENDLY (به این معنی که گواهیها به صورت عمومی قابل خواندن هستند)\&.
.RE
.PP
\-newpwfile new\-password\-file
.RS 4
یک فایل متنی حاوی گذرواژه جدید یا جایگزین توکن را مشخص میکند تا گذرواژه بتواند بهطور خودکار با گزینه
\fB\-changepw\fR
وارد شود\&.
.RE
.PP
\-nocertdb
.RS 4
پایگاههای داده گواهی یا کلید را باز نمیکند\&. این کار چندین اثر دارد:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
با دستور
\fB\-create\fR،
تنها یک فایل امنیتی ماژول ایجاد میشود؛ پایگاههای داده گواهی و کلید ایجاد نمیشوند\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
با دستور
\fB\-jar\fR،
امضاهای فایل JAR بررسی نمیشوند\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
با دستور
\fB\-changepw\fR،
گذرواژه ماژول داخلی NSS قابل تنظیم یا تغییر نیست، زیرا این گذرواژه در پایگاهداده کلید ذخیره میشود\&.
.RE
.RE
.PP
\-pwfile old\-password\-file
.RS 4
یک فایل متنی حاوی گذرواژه فعلی توکن را مشخص میکند تا هنگام استفاده از گزینه
\fB\-changepw\fR
برای تغییر گذرواژه، گذرواژه بهطور خودکار وارد شود\&.
.RE
.PP
\-secmod secmodname
.RS 4
نام پایگاهداده ماژول امنیتی (مانند
secmod\&.db)
جهت بارگذاری را مشخص میکند\&.
.RE
.PP
\-slot slotname
.RS 4
یک اسلات خاص را برای فعالسازی یا غیرفعالسازی با گزینههای
\fB\-enable\fR
یا
\fB\-disable\fR
مشخص میکند\&.
.RE
.PP
\-string CONFIG_STRING
.RS 4
یک رشته پیکربندی را برای ماژولی که به پایگاهداده اضافه میشود ارسال میکند\&.
.RE
.PP
\-tempdir temporary\-directory
.RS 4
مکان دایرکتوری ایجاد فایلهای موقت در طول فرایند نصب توسط گزینه
\fB\-jar\fR
را مشخص میکند\&. اگر پوشه موقتی مشخص نشود، از دایرکتوری جاری استفاده میشود\&.
.RE
.SH "کاربرد و مثالها (USAGE AND EXAMPLES)"
.PP
\fBایجاد فایلهای پایگاهداده\fR
.PP
پیش از انجام هرگونه عملیات، باید مجموعهای از پایگاههای داده امنیتی در دسترس باشد\&. از
\fBmodutil\fR
میتوان برای ایجاد این فایلها استفاده کرد\&. تنها آرگومان الزامی، دایرکتوری محلی است که پایگاههای داده در آن قرار خواهند گرفت\&.
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-create \-dbdir directory
.fi
.if n \{\
.RE
.\}
.PP
\fBافزودن یک ماژول رمزنگاری\fR
.PP
افزودن یک ماژول PKCS #11 به معنای ارائه فایل کتابخانه پشتیبان، فعالسازی الگوریتمهای رمزنگاری آن و تعیین وضعیت ارائهدهنده پیشفرض برای سازوکارهای امنیتی مختلف است\&. این کار را میتوان با ارائه مستقیم تمامی اطلاعات از طریق
\fBmodutil\fR
یا با اجرای یک فایل JAR و اسکریپت نصب انجام داد\&. برای سادهترین حالت، تنها کتابخانه را بارگذاری کنید:
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-add modulename \-libfile library\-file [\-ciphers cipher\-enable\-list] [\-mechanisms mechanism\-list]
.fi
.if n \{\
.RE
.\}
.PP
به عنوان مثال:
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-dbdir /home/my/sharednssdb \-add "Example PKCS #11 Module" \-libfile "/tmp/crypto\&.so" \-mechanisms RSA:DSA:RC2:RANDOM
Using database directory \&.\&.\&.
Module "Example PKCS #11 Module" added to database\&.
.fi
.if n \{\
.RE
.\}
.PP
\fBنصب یک ماژول رمزنگاری از یک فایل JAR\fR
.PP
ماژولهای PKCS #11 همچنین میتوانند با استفاده از یک فایل JAR بارگذاری شوند که شامل تمامی کتابخانههای مورد نیاز و یک اسکریپت نصب است که نحوه نصب ماژول را توصیف میکند\&. اسکریپت نصب JAR با جزئیات بیشتر در بخش «قالب فایل نصب JAR» شرح داده شده است\&.
.PP
اسکریپت نصب JAR اطلاعات راهاندازی را برای هر بستری که ماژول میتواند روی آن نصب شود تعریف میکند\&. برای مثال:
.sp
.if n \{\
.RS 4
.\}
.nf
Platforms {
Linux:5\&.4\&.08:x86 {
ModuleName { "Example PKCS #11 Module" }
ModuleFile { crypto\&.so }
DefaultMechanismFlags{0x0000}
CipherEnableFlags{0x0000}
Files {
crypto\&.so {
Path{ /tmp/crypto\&.so }
}
setup\&.sh {
Executable
Path{ /tmp/setup\&.sh }
}
}
}
Linux:6\&.0\&.0:x86 {
EquivalentPlatform { Linux:5\&.4\&.08:x86 }
}
}
.fi
.if n \{\
.RE
.\}
.PP
هم اسکریپت نصب و هم کتابخانههای مورد نیاز باید در یک فایل JAR بستهبندی شوند که با آرگومان
\fB\-jar\fR
مشخص میشود\&.
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-dbdir /home/mt"jar\-install\-filey/sharednssdb \-jar install\&.jar \-installdir /home/my/sharednssdb
This installation JAR file was signed by:
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
**SUBJECT NAME**
C=US, ST=California, L=Mountain View, CN=Cryptorific Inc\&., OU=Digital ID
Class 3 \- Netscape Object Signing, OU="www\&.verisign\&.com/repository/CPS
Incorp\&. by Ref\&.,LIAB\&.LTD(c)9 6", OU=www\&.verisign\&.com/CPS Incorp\&.by Ref
\&. LIABILITY LTD\&.(c)97 VeriSign, OU=VeriSign Object Signing CA \- Class 3
Organization, OU="VeriSign, Inc\&.", O=VeriSign Trust Network **ISSUER
NAME**, OU=www\&.verisign\&.com/CPS Incorp\&.by Ref\&. LIABILITY LTD\&.(c)97
VeriSign, OU=VeriSign Object Signing CA \- Class 3 Organization,
OU="VeriSign, Inc\&.", O=VeriSign Trust Network
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
Do you wish to continue this installation? (y/n) y
Using installer script "installer_script"
Successfully parsed installation script
Current platform is Linux:5\&.4\&.08:x86
Using installation parameters for platform Linux:5\&.4\&.08:x86
Installed file crypto\&.so to /tmp/crypto\&.so
Installed file setup\&.sh to \&./pk11inst\&.dir/setup\&.sh
Executing "\&./pk11inst\&.dir/setup\&.sh"\&.\&.\&.
"\&./pk11inst\&.dir/setup\&.sh" executed successfully
Installed module "Example PKCS #11 Module" into module database
Installation completed successfully
.fi
.if n \{\
.RE
.\}
.PP
\fBافزودن مشخصات ماژول\fR
.PP
هر ماژول اطلاعاتی درباره پیکربندی و پارامترهای خود دارد که در پایگاهداده امنیتی ذخیره میشود\&. این موارد را میتوان با استفاده از دستور
\fB\-rawadd\fR
اضافه یا ویرایش کرد\&. برای تنظیمات جاری یا مشاهده قالب مشخصات ماژول در پایگاهداده، از گزینه
\fB\-rawlist\fR
استفاده کنید\&.
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-rawadd modulespec
.fi
.if n \{\
.RE
.\}
.PP
\fBحذف یک ماژول\fR
.PP
یک ماژول خاص PKCS #11 را میتوان از پایگاهداده
secmod\&.db
حذف کرد:
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-delete modulename \-dbdir directory
.fi
.if n \{\
.RE
.\}
.PP
\fBنمایش اطلاعات ماژول\fR
.PP
پایگاهداده
secmod\&.db
حاوی اطلاعاتی درباره ماژولهای PKCS #11 است که برای استفاده یک برنامه یا سرور در دسترس هستند\&. فهرست همه ماژولها، اطلاعات مربوط به ماژولهای خاص و مشخصات پیکربندی پایگاهداده برای ماژولها همگی قابل مشاهده هستند\&.
.PP
برای دریافت ساده فهرست ماژولهای موجود در پایگاهداده، از دستور
\fB\-list\fR
استفاده کنید\&.
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-list [modulename] \-dbdir directory
.fi
.if n \{\
.RE
.\}
.PP
فهرست کردن ماژولها نام ماژول، وضعیت آنها و سایر پایگاههای داده امنیتی مرتبط برای گواهیها و کلیدها را نشان میدهد\&. برای مثال:
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-list \-dbdir /home/my/sharednssdb
Listing of PKCS #11 Modules
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
1\&. NSS Internal PKCS #11 Module
slots: 2 slots attached
status: loaded
slot: NSS Internal Cryptographic Services
token: NSS Generic Crypto Services
uri: pkcs11:token=NSS%20Generic%20Crypto%20Services;manufacturer=Mozilla%20Foundation;serial=0000000000000000;model=NSS%203
slot: NSS User Private Key and Certificate Services
token: NSS Certificate DB
uri: pkcs11:token=NSS%20Certificate%20DB;manufacturer=Mozilla%20Foundation;serial=0000000000000000;model=NSS%203
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
.fi
.if n \{\
.RE
.\}
.PP
ارسال نام یک ماژول مشخص به همراه
\fB\-list\fR
اطلاعات دقیق در مورد خود ماژول مانند سازوکارهای رمزنگاری پشتیبانیشده، شماره نسخهها، شماره سریالها و سایر اطلاعات مربوط به ماژول و توکنی که روی آن بارگذاری شده است را برمیگرداند\&. برای مثال:
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-list "NSS Internal PKCS #11 Module" \-dbdir /home/my/sharednssdb
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
Name: NSS Internal PKCS #11 Module
Library file: **Internal ONLY module**
Manufacturer: Mozilla Foundation
Description: NSS Internal Crypto Services
PKCS #11 Version 2\&.20
Library Version: 3\&.11
Cipher Enable Flags: None
Default Mechanism Flags: RSA:RC2:RC4:DES:DH:SHA1:MD5:MD2:SSL:TLS:AES
Slot: NSS Internal Cryptographic Services
Slot Mechanism Flags: RSA:RC2:RC4:DES:DH:SHA1:MD5:MD2:SSL:TLS:AES
Manufacturer: Mozilla Foundation
Type: Software
Version Number: 3\&.11
Firmware Version: 0\&.0
Status: Enabled
Token Name: NSS Generic Crypto Services
Token Manufacturer: Mozilla Foundation
Token Model: NSS 3
Token Serial Number: 0000000000000000
Token Version: 4\&.0
Token Firmware Version: 0\&.0
Access: Write Protected
Login Type: Public (no login required)
User Pin: NOT Initialized
Slot: NSS User Private Key and Certificate Services
Slot Mechanism Flags: None
Manufacturer: Mozilla Foundation
Type: Software
Version Number: 3\&.11
Firmware Version: 0\&.0
Status: Enabled
Token Name: NSS Certificate DB
Token Manufacturer: Mozilla Foundation
Token Model: NSS 3
Token Serial Number: 0000000000000000
Token Version: 8\&.3
Token Firmware Version: 0\&.0
Access: NOT Write Protected
Login Type: Login required
User Pin: Initialized
.fi
.if n \{\
.RE
.\}
.PP
دستور مرتبط
\fB\-rawlist\fR
اطلاعات مربوط به پیکربندی پایگاهداده را برای ماژولها برمیگرداند\&. (این اطلاعات را میتوان با بارگذاری مشخصات جدید با استفاده از دستور
\fB\-rawadd\fR
ویرایش کرد\&.)
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-rawlist \-dbdir /home/my/sharednssdb
name="NSS Internal PKCS #11 Module" parameters="configdir=\&. certPrefix= keyPrefix= secmod=secmod\&.db flags=readOnly " NSS="trustOrder=75 cipherOrder=100 slotParams={0x00000001=[slotFlags=RSA,RC4,RC2,DES,DH,SHA1,MD5,MD2,SSL,TLS,AES,RANDOM askpw=any timeout=30 ] } Flags=internal,critical"
.fi
.if n \{\
.RE
.\}
.PP
\fBتعیین ارائهدهنده پیشفرض برای سازوکارهای امنیتی\fR
.PP
چندین ماژول امنیتی ممکن است از سازوکارهای امنیتی یکسانی پشتیبانی کنند\&. این امکان وجود دارد که یک ماژول امنیتی خاص را به عنوان ارائهدهنده پیشفرض یک سازوکار امنیتی خاص تعیین کنید (یا برعکس، یک ارائهدهنده را از ارائه آن سازوکارها منع نمایید)\&.
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-default modulename \-mechanisms mechanism\-list
.fi
.if n \{\
.RE
.\}
.PP
برای تنظیم یک ماژول به عنوان ارائهدهنده پیشفرض سازوکارها، از دستور
\fB\-default\fR
به همراه فهرستی از سازوکارها که با دونقطه از هم جدا شدهاند استفاده کنید\&. سازوکارهای در دسترس به ماژول بستگی دارند؛ NSS تقریباً تمام سازوکارهای رایج را فراهم میکند\&. برای مثال:
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-default "NSS Internal PKCS #11 Module" \-dbdir \-mechanisms RSA:DSA:RC2
Using database directory c:\edatabases\&.\&.\&.
Successfully changed defaults\&.
.fi
.if n \{\
.RE
.\}
.PP
پاک کردن ارائهدهنده پیشفرض نیز قالب مشابهی دارد:
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-undefault "NSS Internal PKCS #11 Module" \-dbdir \-mechanisms MD2:MD5
.fi
.if n \{\
.RE
.\}
.PP
\fBفعال و غیرفعالسازی ماژولها و اسلاتها\fR
.PP
ماژولها و اسلاتهای خاص روی ماژولها را میتوان با استفاده از
\fBmodutil\fR
به صورت انتخابی فعال یا غیرفعال کرد\&. هر دو دستور قالب یکسانی دارند:
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-enable|\-disable modulename [\-slot slotname]
.fi
.if n \{\
.RE
.\}
.PP
به عنوان مثال:
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-enable "NSS Internal PKCS #11 Module" \-slot "NSS Internal Cryptographic Services " \-dbdir \&.
Slot "NSS Internal Cryptographic Services " enabled\&.
.fi
.if n \{\
.RE
.\}
.PP
مطمئن شوید که مقدار مناسب فاصله خالی انتهایی بعد از نام اسلات وجود داشته باشد\&. نام برخی اسلاتها دارای مقدار قابل توجهی فاصله انتهایی است که حتماً باید درج شود، در غیر این صورت عملیات با شکست مواجه خواهد شد\&.
.PP
\fBفعالسازی و اعتبارسنجی انطباق با FIPS\fR
.PP
ماژولهای NSS میتوانند با استفاده از
\fBmodutil\fR
به همراه گزینه
\fB\-fips\fR
انطباق با FIPS 140\-2 را فعال یا غیرفعال کنند\&. برای مثال:
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-fips true \-dbdir /home/my/sharednssdb/
FIPS mode enabled\&.
.fi
.if n \{\
.RE
.\}
.PP
برای بررسی وضعیت حالت FIPS، دستور
\fB\-chkfips\fR
را با فلگ true یا false اجرا کنید (فرقی نمیکند کدام یک)\&. ابزار تنظیمات جاری FIPS را برمیگرداند\&.
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-chkfips false \-dbdir /home/my/sharednssdb/
FIPS mode enabled\&.
.fi
.if n \{\
.RE
.\}
.PP
\fBتغییر گذرواژه در یک توکن\fR
.PP
مقداردهی اولیه یا تغییر گذرواژه توکن:
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-changepw tokenname [\-pwfile old\-password\-file] [\-newpwfile new\-password\-file]
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-dbdir /home/my/sharednssdb \-changepw "NSS Certificate DB"
Enter old password:
Incorrect password, try again\&.\&.\&.
Enter old password:
Enter new password:
Re\-enter new password:
Token "Communicator Certificate DB" password changed successfully\&.
.fi
.if n \{\
.RE
.\}
.SH "قالب فایل نصب JAR (JAR INSTALLATION FILE FORMAT)"
.PP
هنگامی که یک فایل JAR توسط سرور، توسط
\fBmodutil\fR،
یا توسط هر برنامهای که جاوااسکریپت را تفسیر نمیکند اجرا میشود، باید یک فایل اطلاعات ویژه برای نصب کتابخانهها گنجانده شود\&. چند نکته وجود دارد که باید در مورد این فایل به یاد داشته باشید:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
باید در فایل مانیفست آرشیو JAR اعلان شده باشد\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
اسکریپت میتواند هر نامی داشته باشد\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
تگ فراداده برای این مورد
\fBPkcs11_install_script\fR
است\&. برای اعلان فراداده در فایل مانیفست، آن را در فایلی قرار دهید که به
\fBsigntool\fR
داده میشود\&.
.RE
.PP
\fBنمونه اسکریپت\fR
.PP
برای مثال، اسکریپت نصاب PKCS #11 میتواند در فایل pk11install باشد\&. در این صورت، فایل فراداده برای
\fBsigntool\fR
شامل خطی مانند این خواهد بود:
.sp
.if n \{\
.RS 4
.\}
.nf
+ Pkcs11_install_script: pk11install
.fi
.if n \{\
.RE
.\}
.PP
اسکریپت باید بستر و شماره نسخه، نام ماژول و فایل، و هرگونه اطلاعات اختیاری مانند الگوریتمهای رمزنگاری و سازوکارهای پشتیبانیشده را تعریف کند\&. چندین بستر را میتوان در یک فایل نصب منفرد تعریف کرد\&.
.sp
.if n \{\
.RS 4
.\}
.nf
ForwardCompatible { IRIX:6\&.2:mips SUNOS:5\&.5\&.1:sparc }
Platforms {
WINNT::x86 {
ModuleName { "Example Module" }
ModuleFile { win32/fort32\&.dll }
DefaultMechanismFlags{0x0001}
DefaultCipherFlags{0x0001}
Files {
win32/setup\&.exe {
Executable
RelativePath { %temp%/setup\&.exe }
}
win32/setup\&.hlp {
RelativePath { %temp%/setup\&.hlp }
}
win32/setup\&.cab {
RelativePath { %temp%/setup\&.cab }
}
}
}
SUNOS:5\&.5\&.1:sparc {
ModuleName { "Example UNIX Module" }
ModuleFile { unix/fort\&.so }
DefaultMechanismFlags{0x0001}
CipherEnableFlags{0x0001}
Files {
unix/fort\&.so {
RelativePath{%root%/lib/fort\&.so}
AbsolutePath{/usr/local/netscape/lib/fort\&.so}
FilePermissions{555}
}
xplat/instr\&.html {
RelativePath{%root%/docs/inst\&.html}
AbsolutePath{/usr/local/netscape/docs/inst\&.html}
FilePermissions{555}
}
}
}
IRIX:6\&.2:mips {
EquivalentPlatform { SUNOS:5\&.5\&.1:sparc }
}
}
.fi
.if n \{\
.RE
.\}
.PP
\fBگرامر اسکریپت\fR
.PP
این اسکریپت جاوای پایه است که لیستها، جفتهای کلید\-مقدار، رشتهها و ترکیبی از همه آنها را مجاز میداند\&.
.sp
.if n \{\
.RS 4
.\}
.nf
\-\-> valuelist
valuelist \-\-> value valuelist
value \-\-\-> key_value_pair
string
key_value_pair \-\-> key { valuelist }
key \-\-> string
string \-\-> simple_string
"complex_string"
simple_string \-\-> [^ \et\en\e""{""}"]+
complex_string \-\-> ([^\e"\e\e\er\en]|(\e\e\e")|(\e\e\e\e))+
.fi
.if n \{\
.RE
.\}
.PP
نقلقولها و بکاسلشها باید با یک بکاسلش اسکیپ شوند\&. یک رشته پیچیده نباید شامل خطوط جدید یا بازگشت به ابتدای سطر باشد\&. خارج از رشتههای پیچیده، تمام فضاهای خالی (مانند فاصلهها، تبها و کاراکترهای بازگشت به خط بعد) یکسان تلقی شده و صرفاً برای جداسازی نشانهها استفاده میشوند\&.
.PP
\fBکلیدها\fR
.PP
فایل نصب جاوا از کلیدها برای تعریف اطلاعات پلتفرم و ماژول استفاده میکند\&.
.PP
\fBForwardCompatible\fR
فهرستی از پلتفرمهایی که سازگاری رو به جلو دارند را ارائه میدهد\&. اگر پلتفرم جاری در فهرست پلتفرمهای پشتیبانیشده یافت نشود، فهرست
\fBForwardCompatible\fR
برای پلتفرمهایی با همان سیستمعامل و معماری در یک نسخه پیشین بررسی میشود\&. در صورت یافتن، ویژگیهای آن برای پلتفرم جاری به کار میرود\&.
.PP
\fBPlatforms\fR
(الزامی) فهرستی از پلتفرمها را مشخص میکند\&. هر مدخل در فهرست خود یک جفت کلید\-مقدار است: کلید نام پلتفرم است و فهرست مقادیر شامل ویژگیهای گوناگون پلتفرم است\&. رشته پلتفرم در قالب
\fIsystem name:OS release:architecture\fR
است\&. نصاب این مقادیر را از NSPR به دست میآورد\&. مقدار OS release در سیستمعاملهای غیر یونیکسی یک رشته خالی است\&. سامانه NSPR از این پلتفرمها پشتیبانی میکند:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
AIX (rs6000)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
BSDI (x86)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
FREEBSD (x86)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
HPUX (hppa1\&.1)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
IRIX (mips)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
LINUX (ppc, alpha, x86)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
MacOS (PowerPC)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
NCR (x86)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
NEC (mips)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
OS2 (x86)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
OSF (alpha)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
ReliantUNIX (mips)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
SCO (x86)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
SOLARIS (sparc)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
SONY (mips)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
SUNOS (sparc)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
UnixWare (x86)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
WIN16 (x86)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
WIN95 (x86)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
WINNT (x86)
.RE
.PP
برای مثال:
.sp
.if n \{\
.RS 4
.\}
.nf
IRIX:6\&.2:mips
SUNOS:5\&.5\&.1:sparc
Linux:2\&.0\&.32:x86
WIN95::x86
.fi
.if n \{\
.RE
.\}
.PP
اطلاعات ماژول به طور مستقل برای هر پلتفرم در ویژگیهای
\fBModuleName\fR،
\fBModuleFile\fR
و
\fBFiles\fR
تعریف میشود\&. این ویژگیها باید ارائه شوند مگر اینکه یک ویژگی
\fBEquivalentPlatform\fR
مشخص شده باشد\&.
.PP
\fBکلیدهای مربوط به هر پلتفرم\fR
.PP
کلیدهای مربوط به هر پلتفرم تنها در فهرست مقادیر یک مدخل در فهرست
\fBPlatforms\fR
معنا دارند\&.
.PP
\fBModuleName\fR
(الزامی) نام عمومی ماژول را مشخص میکند\&. این نام برای ارجاع به ماژول توسط سرورها و ابزار
\fBmodutil\fR
به کار میرود\&.
.PP
\fBModuleFile\fR
(الزامی) نام فایل ماژول PKCS #11 را برای این پلتفرم مشخص میکند\&. این نام به عنوان مسیر نسبی فایل در آرشیو JAR داده میشود\&.
.PP
\fBFiles\fR
(الزامی) فایلهایی را که باید برای این ماژول نصب شوند فهرست میکند\&. هر مدخل در فهرست فایل یک جفت کلید\-مقدار است\&. کلید مسیر فایل در آرشیو JAR است و فهرست مقادیر شامل ویژگیهای فایل است\&. برای هر فایل حداقل یکی از
\fBRelativePath\fR
یا
\fBAbsolutePath\fR
باید مشخص شود\&.
.PP
\fBDefaultMechanismFlags\fR
سازوکارهایی را تعیین میکند که این ماژول ارائهدهنده پیشفرض آنها است؛ این معادل گزینه
\fB\-mechanism\fR
همراه با دستور
\fB\-add\fR
است\&. این جفت کلید\-مقدار یک رشته بیتی است که در قالب هگزادسیمال (0x) مشخص میشود و به صورت OR بیتی ساخته میشود\&. اگر مدخل DefaultMechanismFlags حذف شود، مقدار به طور پیشفرض 0x0 خواهد بود\&.
.sp
.if n \{\
.RS 4
.\}
.nf
RSA: 0x00000001
DSA: 0x00000002
RC2: 0x00000004
RC4: 0x00000008
DES: 0x00000010
DH: 0x00000020
FORTEZZA: 0x00000040
RC5: 0x00000080
SHA1: 0x00000100
MD5: 0x00000200
MD2: 0x00000400
RANDOM: 0x08000000
FRIENDLY: 0x10000000
OWN_PW_DEFAULTS: 0x20000000
DISABLE: 0x40000000
.fi
.if n \{\
.RE
.\}
.PP
\fBCipherEnableFlags\fR
الگوریتمهای رمزنگاری ارائهشده توسط این ماژول را مشخص میکند که NSS فراهم نمیکند (تا ماژول آن الگوریتمها را برای NSS فعال سازد)\&. این معادل آرگومان
\fB\-cipher\fR
در دستور
\fB\-add\fR
است\&. این کلید یک رشته بیتی در قالب هگزادسیمال (0x) است و به صورت OR بیتی ساخته میشود\&. اگر مدخل
\fBCipherEnableFlags\fR
حذف شود، مقدار پیشفرض آن 0x0 خواهد بود\&.
.PP
\fBEquivalentPlatform\fR
مشخص میکند که ویژگیهای پلتفرم نامبرده باید برای پلتفرم جاری نیز استفاده شوند\&. این کار استفاده از تنظیمات یکسان را در بیش از یک پلتفرم سادهتر میکند\&.
.PP
\fBکلیدهای مربوط به هر فایل\fR
.PP
برخی کلیدها تنها درون فهرست مقادیر یک مدخل در فهرست
\fBFiles\fR
معنا دارند\&.
.PP
هر فایل به یک کلید مسیر نیاز دارد که محل قرارگیری فایل را مشخص کند\&. حداقل یکی از گزینههای
\fBRelativePath\fR
یا
\fBAbsolutePath\fR
باید تعیین شود\&. اگر هر دو تعیین شوند، ابتدا مسیر نسبی امتحان میشود و مسیر مطلق تنها زمانی استفاده میشود که هیچ پوشه ریشه نسبی توسط برنامه نصاب ارائه نشده باشد\&.
.PP
\fBRelativePath\fR
دایرکتوری مقصد فایل را به صورت نسبی به پوشهای که در زمان نصب مشخص میشود تعیین میکند\&. دو متغیر میتوانند در مسیر نسبی استفاده شوند:
\fB%root%\fR
و
\fB%temp%\fR\&.
متغیر
\fB%root%\fR
در زمان اجرا با پوشهای که فایلها باید نسبت به آن نصب شوند جایگزین میشود؛ به عنوان مثال، ممکن است پوشه ریشه سرور باشد\&. پوشه
\fB%temp%\fR
در ابتدای نصب ایجاد شده و در پایان نابود میشود\&. هدف از
\fB%temp%\fR
نگهداری فایلهای اجرایی (مانند برنامههای نصب) یا فایلهای مورد استفاده این برنامهها است\&. فایلهای در نظر گرفتهشده برای دایرکتوری موقت قبل از اجرای هر فایل اجرایی تضمین شده که در محل خود قرار دارند؛ آنها تا زمانی که اجرای تمامی فایلهای اجرایی پایان نیافته باشد حذف نخواهند شد\&.
.PP
\fBAbsolutePath\fR
دایرکتوری مقصد فایل را به عنوان یک مسیر مطلق مشخص میکند\&.
.PP
\fBExecutable\fR
مشخص میکند که فایل باید در طول فرایند نصب اجرا شود\&. معمولاً این رشته برای برنامه نصبی که توسط ارائهدهنده ماژول ارائه شده است (مانند یک فایل اجرایی نصب خود\-استخراجکننده) استفاده میشود\&. بیش از یک فایل را میتوان به عنوان اجرایی مشخص کرد که در این صورت فایلها به ترتیبی که در فایل اسکریپت مشخص شدهاند اجرا میشوند\&.
.PP
\fBFilePermissions\fR
مجوزهای هر فایل ارجاع داده شده را در قالب رشتهای از ارقام اکتال (مبنای ۸) طبق فرمت استاندارد یونیکس تنظیم میکند\&. این رشته یک OR بیتی است\&.
.sp
.if n \{\
.RS 4
.\}
.nf
user read: 0400
user write: 0200
user execute: 0100
group read: 0040
group write: 0020
group execute: 0010
other read: 0004
other write: 0002
other execute: 0001
.fi
.if n \{\
.RE
.\}
.PP
برخی پلتفرمها ممکن است این مجوزها را درک نکنند\&. آنها تنها تا جایی اعمال میشوند که برای پلتفرم جاری معنادار باشند\&. اگر این ویژگی حذف شود، مقدار پیشفرض 777 در نظر گرفته میشود\&.
.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
به طور پیشفرض، ابزارها (\fBcertutil\fR،
\fBpk12util\fR،
\fBmodutil\fR)
فرض میکنند که پایگاههای داده امنیتی دادهشده از نوع SQLite استفاده میکنند\&. استفاده از پایگاههای داده سنتی باید با استفاده از پیشوند
\fBdbm:\fR
به همراه دایرکتوری امنیتی دادهشده به صورت دستی مشخص شود\&. برای مثال:
.sp
.if n \{\
.RS 4
.\}
.nf
modutil \-create \-dbdir 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 "همچنین ببینید (SEE ALSO)"
.PP
certutil (1)
.PP
pk12util (1)
.PP
signtool (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
تحت مجوز عمومی موزیلا (MPL) نسخه ۲\&.۰ منتشر شده است\&. اگر نسخهای از MPL همراه با این فایل توزیع نشده است، میتوانید آن را در http://mozilla\&.org/MPL/2\&.0 دریافت کنید\&.
.SH "یادداشتها (NOTES)"
.IP " 1." 4
Mozilla NSS bug 836477
.RS 4
\%https://bugzilla.mozilla.org/show_bug.cgi?id=836477
.RE