ساخت SSL توسط Makecert.exe
دوشنبه 2 آذر 1394در این مقاله راجع به پروتکل Https صحبت خواهیم کرد.بعد از آن نحوه فعال کردن این پروتکل و ایجاد یک SSL را خواهیم دید.ایجاد SSL را به کمک Makecert.exe انجام خواهیم داد.
قبل از شروع مبحث اصلی کمی راجع به مبانی مربوط به این موضوع صحبت خواهیم کرد.
SSL چیست ؟ مخفف کلمات Secure socket Layer است و اساسا پروتکلی برای رد و بدل کردن اطلاعات خصوصی بر روی اینترنت است .سایت هایی که از SSL استفاده می کنند در آدرس خود به جای http از https استفاده می کنند.
شرکت هایی که گواهی SSL ارائه می دهند برای دو سرویس دهنده و سرویس گیرنده گواهی های مخصوص هر کدام ارائه می کند .در ضمن این ضمانت را هم می دهد که اگر احیانا اطلاعات در بین راه سرقت شد قابل فهم نباشد و به صورت رمز نگاری شده باشد.
کاربر برای اینکه از صحت سرویس دهنده مطمئن باشد یک سری نرم افزارهای مبتنی بر SSL در سمت سرویس گیرنده وجود دارند.سرویس دهنده هم کار مشابهی انجام میدهد و نسبت به تعیین هویت سرویس گیرنده اقدام می کند.کلیه تبادلات بین سرویس گیرنده و سرویس دهنده باید توسط نرم افزارهایی رمزنگاری شده و در طرف مقابل رمزگشایی شوند.
SSL از رمزنگاری متقارن و نامتقارن هر دو با هم استفاده می کند .سرویس گیرنده نسخه SSL که استفاده می کند و یک سری تنظیمات اولیه را به سمت سرویس دهنده ارسال می کند .سرویس دهنده هم نسخه SSL مورد استفاده خود تنظیمات رمزنگاری خود را به سمت سرویس گیرنده ارسال می کند .اگر سرویس دهنده تعیین هویت شد عملیات ادامه می یابد.
در واقع مراحل کار به این صورت است که :
برای فعال کردن SSL سرور یک کلید عمومی می سازد.و بعد این کلید عمومی را به همراه درخواست SSL به یک صادر کننده این گواهی نامه مانند شرکت Verisign ارسال می کند .شرکت Verisign اعتبار سرور را بررسی کرده و کلید عمومی را دوباره رمزنگاری می کند و برای سرور می فرستد.به این کلید کلید خصوصی می گویند.بعد از این مرحله کامپیوتر کاربر که به سرور می خواهد وصل شود ، یک کلید عمومی به سرور می فرستد سرور هم این کلید عمومی را با کلید خصوصی قبل که داشت مخلوط می کند و یک کلید جدید به کاربر می فرستد.از این به بعد تمام اطلاعاتی که رد و بدل می شوند با این کلید جدید رمزنگاری می شوند.
حال به موضوع اصلی این مقاله بازمی گردیم
در ارتباط بر مبنای Http اساسا نیازی به گواهی نامه نیست ولی در پروتکل Https به آن نیاز داریم .معنی S در این پروتکل به معنای Secure و یا امن است .یعنی تبادل اطلاعات بین مرورگر و سرور به صورت امن انجام میشود.
Https همیشه بر روی پورت 443 انجام میشود.برای ساخت یک گواهی نامه ابتدا Command Prompt را باز کنید .
حال دستورات زیر را در این محیط تایپ کنید.
Makecert -r -pe -n CN="MycomputerCertificate" -b 05/10/2010 -e 12/22/2011 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localmachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12
CN مشخص کننده نام گواهی است که در اینجا MycomputerCertificate است .
-b زمانی که گواهی ما تعیین اعتبار شد این آیتم زمان شروع آن را مشخص می کند .
-eزمان پایان گواهی را مشخص می کند.
تا اینجا گواهی را ایجاد کرده ایم .البته ما با استفاده از Makecert.exe این کار را انجام دادیم .می توان این کار را توسط IIS هم انجام داد.
برای اعمال این گواهی به سایتی خاص به صورت زیر عمل می کنیم .سایت مورد نظر را در IIS باز کنید .
بر روی سایت کلیک راست کنید و گزینه Edit Binding را بزنید
حال یک Binding جدید ثبت کنید
زمانی که HTTPS را انتخاب می کنید به صورت خودکار یک dropdown برای انتخاب SSL ایجاد می شود.حال برای دیدن گواهی بر روی View کلیک کنید .
اگر بر روی Detail کلیک کنید جزییات مربوط به این گواهی را خواهید دید.
ورژن این گواهی V3 میباشد.
تا به اینجا یک سایتی با تنظیمات Https ایجاد کردیم .و یک گواهی از نوع SSL برای آن ساختیم.
- C#.net
- 2k بازدید
- 4 تشکر