OPENSSL-REHASH(1ssl) OpenSSL OPENSSL-REHASH(1ssl)

openssl-rehash - ایجاد پیوندهای نمادین بر اساس هش گواهی‌ها و CRLها

openssl rehash [-h] [-help] [-old] [-compat] [-n] [-v] [-provider name] [-provider-path path] [-provparam [name:]key=value] [-propquery propq] [directory] ...

c_rehash [-h] [-help] [-old] [-n] [-v] [-provider name] [-provider-path path] [-provparam [name:]key=value] [-propquery propq] [directory] ...

این دستور به‌طور کلی معادل اسکریپت خارجی c_rehash است، به‌جز تفاوت‌های جزئی که در ادامه ذکر شده است.

دستور openssl rehash دایرکتوری‌ها را پیمایش کرده و مقدار هش هر فایل با پسوند .pem، .crt، .cer یا .crl را در فهرست دایرکتوری‌های مشخص‌شده محاسبه می‌کند و برای هر فایل پیوندهای نمادینی می‌سازد که نام هر پیوند همان مقدار هش است. (اگر پلتفرم از پیوندهای نمادین پشتیبانی نکند، یک رونوشت تهیه می‌شود.) این دستور از آنجا کاربرد دارد که بسیاری از برنامه‌های استفاده‌کننده از OpenSSL، برای یافتن گواهی‌ها به چنین ساختاری در دایرکتوری‌ها نیاز دارند.

اگر دایرکتوری‌هایی در خط فرمان نام برده شوند، آن دایرکتوری‌ها به نوبت پردازش می‌شوند. در غیر این صورت، متغیر محیطی SSL_CERT_DIR بررسی می‌شود؛ این متغیر باید مانند متغیر PATH فهرستی از دایرکتوری‌های جداشده با دونقطه (یا نقطه-ویرگول در ویندوز) باشد. اگر آن متغیر نیز تنظیم نشده باشد، دایرکتوری پیش‌فرض (که وابسته به نوع نصب است اما اغلب /usr/local/ssl/certs می‌باشد) پردازش خواهد شد.

برای اینکه یک دایرکتوری پردازش شود، کاربر باید مجوزهای نوشتن روی آن دایرکتوری را داشته باشد، در غیر این صورت خطا ایجاد خواهد شد.

پیوندهای ایجادشده به شکل HHHHHHHH.D هستند، که در آن هر H یک نویسه شانزده‌شانزدهی (هگزادسیمال) و D یک رقم ده‌دهی تکی است. هنگامی که یک دایرکتوری پردازش می‌شود، تمام پیوندهای درون آن که نامی با این ساختار دارند ابتدا حذف می‌شوند، حتی اگر برای اهداف دیگری استفاده شده باشند. برای صرف‌نظر کردن از مرحله حذف، از گزینه -n استفاده کنید. هش‌های مربوط به CRLها مشابه به نظر می‌رسند، با این تفاوت که حرف r پس از نقطه ظاهر می‌شود، مانند این: HHHHHHHH.rD.

ممکن است چندین شیء دارای هش یکسان باشند؛ این موارد با افزایش مقدار D مشخص می‌شوند. موارد تکراری از طریق مقایسه اثر انگشت کامل SHA-1 شناسایی می‌شوند. در صورت یافتن مورد تکراری، یک هشدار نمایش داده خواهد شد.

همچنین در صورتی که فایل‌هایی وجود داشته باشند که نتوان آن‌ها را به عنوان یک گواهی یا CRL تجزیه کرد، یا اگر بیش از یک شیء از این نوع در فایل ظاهر شود، هشداری نمایش داده خواهد شد.

اسکریپت c_rehash از برنامه openssl برای محاسبه هش‌ها و اثر انگشت‌ها استفاده می‌کند. اگر این برنامه در PATH کاربر یافت نشد، متغیر محیطی OPENSSL را روی مسیر کامل آن تنظیم کنید. هر برنامه‌ای را می‌توان استفاده کرد، این برنامه برای گواهی یا CRL به صورت زیر فراخوانی خواهد شد:

$OPENSSL x509 -hash -fingerprint -noout -in FILENAME
$OPENSSL crl -hash -fingerprint -noout -in FILENAME

که در آن FILENAME نام فایل است. این برنامه باید هش فایل را در خط اول و اثر انگشت را در خط دوم خروجی دهد، که به صورت اختیاری می‌تواند پیشوندی از مقداری متن و علامت مساوی داشته باشد.

نمایش پیام کوتاه راهنمای استفاده از دستور.
استفاده از روش هشینگ سبک قدیم (MD5 در برابر SHA-1) برای تولید پیوندهایی که در نگارش‌های قبل از 1.0.0 استفاده می‌شدند. توجه داشته باشید که نسخه‌های فعلی از سبک قدیم استفاده نخواهند کرد.
پیوندهای موجود را حذف نکن. این گزینه هنگامی که پیوندهای سبک قدیم و جدید را در یک دایرکتوری یکسان نگه می‌دارید مورد نیاز است.
تولید پیوندها برای هر دو روش هش سبک قدیم (MD5) و سبک جدید (SHA1). این کار به نگارش‌های قبل از 1.0.0 اجازه می‌دهد تا از این پیوندها در کنار نگارش‌های جدیدتر استفاده کنند.
چاپ پیام‌ها در مورد پیوندهای قدیمی حذف‌شده و پیوندهای جدید ایجادشده. به طور پیش‌فرض، این دستور فقط نام هر دایرکتوری را در حین پردازش فهرست می‌کند.
بخش «Provider Options» را در openssl(1)، provider(7) و property(7) ببینید.

مسیر یک فایل اجرایی که برای تولید هش‌ها و اثر انگشت‌ها استفاده می‌شود (به بالا مراجعه کنید).
فهرستی از مسیرها، جداشده با دونقطه (یا نقطه-ویرگول در پلتفرم‌های ویندوز)، که در آن‌ها در صورتی که مسیر فایل اجرایی تولیدکننده هش در متغیر محیطی OPENSSL ارائه نشده باشد یا قابل استفاده نباشد (یعنی وجود نداشته باشد یا قابل اجرا نباشد)، به دنبال فایل اجرایی openssl گشته می‌شود.
فهرستی از دایرکتوری‌های جداشده با دونقطه برای پردازش روی آن‌ها. در صورتی که دایرکتوری‌ها در خط فرمان ذکر شده باشند، نادیده گرفته می‌شود.

openssl(1), openssl-crl(1), openssl-x509(1)

حق نشر 2015-2026 نویسندگان پروژه OpenSSL. کلیه حقوق محفوظ است.

تحت مجوز آپاچی نسخه 2.0 («مجوز») ارائه شده است. شما مجاز به استفاده از این فایل نیستید مگر با رعایت کامل شرایط مجوز. می‌توانید یک نسخه از مجوز را در فایل LICENSE در بسته توزیع منبع یا در https://www.openssl.org/source/license.html دریافت کنید.

2026-08-25 3.6.4