تعریف و کاربرد تگ 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 مشخص می کند. |