آموزش HTML – تگ keygen

نویسنده : مرتضی گنج | تاریخ انتشار : 2020/01/13 | بخش : آموزش HTML

تعریف و کاربرد تگ keygen در HTML

تگ keygen تگی است که در درون تگ <form> مورد استفاده قرار می گیرد و با استفاده از آن می توان فرم های با امنیت بالاتری ایجاد کرد، با استفاده از این تگ می توان عمل رمز نگاری را بروی داده های ارسال شده به سمت سرور اعمال کرد.

بطور کلی تگ keygen وظیفش تولید یک جفت کلید ( عمومی و خصوصی ) است که برای رمزگذاری و رمزگشایی داده های ارسال شده به سرور هنگام ارسال فرم HTML استفاده می شود.

به گونه ای که وقتی کاربر بروی دکمه ارسال اطلاعات کلیک می کند ، ۲ عدد کلید ( کد یا اطلاعات رمزنگاری شده ) ایجاد می شود، یک کلید خصوصی و دیگری کلید عمومی، کلید خصوصی بروی کامپیوتر کاربر ذخیره می شود و کلید عمومی به همراه اطلاعات فرم به سرور ارسال می شود.

این مکانیزم بیشتر برای استفاده در سیستم های مدیریت گواهی مبتنی بر وب طراحی شده است، یا مثلا برای ایجاد سیستم تایید امضای دیجیتال می توان از آن استفاده کرد.

تگ keygen در HTML5 اضافه شده است ولی با اینحال هنوز برخی از مرورگرها از این تگ پشتیبانی نمی کنند، و همچنین در برخی موارد شرط استفاده از این تگ نیازمند برخی سخت افزارها و نرم افزارهای مخصوص می باشد.

  • تگ <keygen> یک مولد کلیدی جفت، مورد استفاده برای فرم ها ایجاد می کند.
  • تگ <keygen> برای فراهم کردن یک راه امن به منظور تایید هویت کاربران در فرم‌هایی نظیر ورود و ثبت نام می‌باشد.هنگامی که کاربر فیلد را پر می کند و ارسال می کند دو کلید یک کلید خصوصی و یک کلید عمومی ایجاد می شود.
  • هنگامی که فرم ارسال می شود، کلید خصوصی به صورت محلی ذخیره شده و کلید عمومی به سرور ارسال می شود
  • تگ <keygen> یک تگ جدید در HTML5 می باشد، ولی با این حال مرورگر اینترنت اکسپلورر یا IE از این تگ پشتیبانی نمی کند.

 

مثال از تگ keygen در HTML

<form action="#" method="get">
 <keygen name="mykey" keytype="RSA">
 نام کاربری: <input type="text" name="user-name">
 <input type="submit" value="ارسال">
</form>

تمرین کنید !

 

پشتیبانی مرورگرها از تگ keygen در HTML

Element
<keygen> ۱ ۱ خیر  ۱٫۲ ۳

 

جدول صفات تگ keygen در HTML

نام صفت  مقدار توضیح
autofocus autofocus مشخص می کند که بلافاصله با بارگذاری صفحه اشاره گر بروی keygen فوکوس کند.
challenge challenge یک رشته را به همراه کلید عمومی انتقال می دهد.
disabled disabled مشخص می کند که keygen باید غیرفعال باشد.
form form_id مشخص می کند که داده های keygen به یک یا چندین فرم ارسال شود.
keytype rsa
dsa
ec
نوع الگوریتم رمزگذاری را مشخص می کند .
name name یک نام را برای keygen مشخص می کند.