با استفاده از نشانه های کلید مشتق شده برای رمزگذاری و امضای

ساخت وبلاگ

Intersystems Iris از عنصر پشتیبانی می کند همانطور که توسط WS-SecureConversation 1. 4 تعریف شده است. می توانید عنصر را برای رمزگذاری و امضای ، به عنوان جایگزینی برای رویکردهای شرح داده شده در سه موضوع قبلی ایجاد و استفاده کنید.

به طور معمول شما رمزگذاری و امضا را انجام می دهید. این موضوع برای سادگی ، این وظایف را به طور جداگانه توصیف می کند. برای اطلاعات در مورد ترکیب رمزگذاری و امضای ، به ترکیب رمزگذاری و امضای مراجعه کنید.

بررسی اجمالی

این عنصر برای حمل اطلاعاتی است که فرستنده و گیرنده می توانند به طور مستقل از آن استفاده کنند تا همان کلید متقارن را تولید کنند. این طرفین می توانند از آن کلید متقارن برای رمزگذاری ، امضا یا انجام هر دو عمل در قسمت های مشخص شده پیام SOAP استفاده کنند.

برای تولید و استفاده از A ، موارد زیر را انجام می دهید:

شما یک کلید متقارن برای استفاده موقت ایجاد می کنید.

شما کلید متقارن را با کلید عمومی موجودیتی که برای ارسال پیام برای آن ارسال می کنید ، رمزگذاری می کنید. این یک عنصر ایجاد می کند.

می توانید کلید عمومی را از یک گواهی X. 509 موجود در یک پیام درخواست از آن نهاد دریافت کنید. یا می توانید قبل از زمان آن را بدست آورید.

شما از طریق الگوریتم P_SHA1 یک کلید متقارن جدید را از کلید متقارن اصلی محاسبه می کنید.

این عنصری را ایجاد می کند که به عنصر اشاره دارد.

شما از کلید جدید متقارن برای رمزگذاری یا امضا استفاده می کنید.

استفاده از کلید متقارن مختلف برای این فعالیت ها یک عمل خوب در نظر گرفته می شود ، به طوری که حداقل داده ها برای تجزیه و تحلیل وجود دارد.

شما عنصر و پیام را درج می کنید.

در Intersystems Iris ، یک نشانه کلید مشتق شده نیز می تواند بر اساس یک نشانه کلید مشتق دیگر باشد.

ایجاد و اضافه کردن

برای مرجع ، این بخش یک فعالیت مشترک مورد نیاز در بخش های بعدی را شرح می دهد. این نحوه ایجاد A و اضافه کردن آن به عنوان WS-Security را توصیف می کند. می توانید از روش زیر یا تغییرات شرح داده شده در زیر بخش ها استفاده کنید.

به صورت اختیاری شامل ٪ soap. inc شامل پرونده است ، که ماکروهایی را که ممکن است برای استفاده از آنها نیاز داشته باشید تعریف می کند.

مجموعه اعتبارنامه ای را که برای ارسال پیام به آنها ارسال می کنید ، بدست آورید. به بازیابی مجموعه های اعتبارنامه به صورت برنامه ای مراجعه کنید.

یک کلید رمزگذاری شده را بر اساس مجموعه اعتبار ایجاد کنید. برای انجام این کار ، با روش کلاس Createx509 () ٪ ٪ xml. securance. encryptedkey در یک برگه جدید تماس بگیرید و استدلال دوم را به عنوان $ $ $ soapwsencryptnone مشخص کنید. مثلا:

این روش یک کلید متقارن ایجاد می کند و نمونه ای از ٪ xml. securance. encryptedkey را در یک برگه جدید باز می کند که نمایانگر عنصر عنوان است. این عنصر هدر حاوی کلید متقارن است که توسط کلید عمومی موجود در مجموعه اعتبار داده شده رمزگذاری شده است.

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

برای استفاده از الگوریتم های مختلف ، به صورت اختیاری نمونه اصلی رمزگذاری شده را تغییر دهید. به مشخص کردن الگوریتم رمزگذاری بلوک و مشخص کردن الگوریتم حمل و نقل کلیدی مراجعه کنید.

عنصر را به عنصر هدر WS-Security اضافه کنید. برای انجام این کار با روش AddSecurityElement () خاصیت امنیت مشتری یا سرویس وب خود تماس بگیرید. برای افزودن عنصر ، نمونه خود را از ٪ xml. security. encryptedkey در یک برگه جدید مشخص کنید.

نشانه کلید مشتق شده را بر اساس کلید رمزگذاری شده ایجاد کنید. برای انجام این کار ، با روش ایجاد () ٪ soap. wssc. deredkeytoken در یک برگه جدید تماس بگیرید. این روش دو آرگومان طول می کشد:

کلید رمزگذاری شده برای استفاده به عنوان پایه.

یک گزینه مرجع که مشخص می کند چگونه کلید مشتق شده به آن کلید رمزگذاری شده اشاره دارد. در این روش اساسی ، از $ $ $ soapwsreferenceencryptedkey استفاده کنید

این روش نمونه ای از ٪ soap. wssc. deredkeytoken را در یک برگه جدید باز می کند که نمایانگر این عنصر است.

عنصر را به عنصر هدر WS-Security اضافه کنید. برای انجام این کار با روش AddSecurityElement () خاصیت امنیت مشتری یا سرویس وب خود تماس بگیرید. برای افزودن عنصر ، نمونه خود را از ٪ soap. wssc. deredkeytoken در یک برگه جدید مشخص کنید.

پیام SOAP را ارسال کنید. نظرات کلی را در افزودن عناصر هدر امنیتی مشاهده کنید.

تنوع: ایجاد یک ضمنی

همچنین می توانید یک ضمنی ایجاد کنید ، که یک تکنیک میانبر برای مراجعه به a است. در این تکنیک:

در پیام گنجانده نشده است.

در درون عنصری که از آن استفاده می کند ، عنصر ویژگی Nonce را مشخص می کند ، که حاوی مقدار Nonce استفاده شده برای آن است. این به گیرنده پیام نشان می دهد که نشانه کلید مشتق شده دلالت دارد و از نشانه ارجاع شده گرفته می شود.

برای ایجاد ضمنی ، از روش کلی که قبلاً توضیح داده شد ، با دو تغییر استفاده کنید:

ویژگی ضمنی را روی 1 ، برای نمونه کلید مشتق شده تنظیم کنید.

عنصر را به عنصر هدر WS-Security اضافه نکنید.

دقیقاً به همان روشی که اگر آن را در پیام گنجانده اید استفاده کنید.

تنوع: مراجعه به هش sha1 از

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

از روش کلی قبلی استفاده کنید ، با تغییرات زیر:

مراحل 2-4 اختیاری است.

مرحله 5 را حذف کنید (اضافه نکنید).

در مرحله 6 ، هنگامی که از ایجاد () برای ایجاد نشانه کلید مشتق شده استفاده می کنید ، برای استفاده از مشتری دریافت شده ، اولین استدلال را حذف کنید. یا اگر ایجاد کرده اید ، از آن به عنوان اولین استدلال استفاده کنید.

$ $ $ soapwsreferenceencryptedkeysha1 را برای استدلال دوم مشخص کنید.

به عنوان مثال ، برای استفاده از اولین عنصر در پیام دریافت شده از وب سایت:

با استفاده از یک رمزگذاری

برای استفاده از یک رمزگذاری ، از روش زیر استفاده کنید:

اگر می خواهید یک یا چند عنصر امنیتی را رمزگذاری کنید ، آن عناصر هدر امنیتی را ایجاد کنید.

همانطور که در ایجاد و اضافه کردن یک توضیح داده شده است ، آن را به عنوان WS-Security اضافه کنید و آن را اضافه کنید

توجه داشته باشید که این مرحله همچنین عنصری را که مبتنی بر آن است ایجاد و اضافه می کند.

برای هر عنصری که می خواهید رمزگذاری کنید ، یک عنصر را بر اساس عنصر ایجاد کنید. برای انجام این کار ، با روش CREATE () کلاس ٪ xml. security. encrypteddata در یک برگه جدید تماس بگیرید. در این روش ، آرگومان های زیر را مشخص کنید:

نشانه کلید مشتق شده.

مورد برای رمزگذاری. این استدلال را برای رمزگذاری بدن حذف کنید.

ماکرو که چگونه عنصر به آن اشاره می کند. در این سناریو ، تنها ارزش پشتیبانی شده در حال حاضر $ $ SOAPWSrefercenderivedKey است.

به عنوان مثال ، برای رمزگذاری:

یا برای رمزگذاری بدن:

یک عنصر ایجاد کنید. برای انجام این کار ، با روش ٪ جدید () ٪ xml. securance. referencelist در یک کلاس برگه جدید تماس بگیرید. مثلا:

در این مورد ، ایجاد یک عناصر را ایجاد کنید. برای انجام این کار ، موارد زیر را برای هر یک انجام دهید:

با روش CREATE () کلاس ٪ xml. security. datareference در یک برگه جدید تماس بگیرید و نمونه داده های رمزگذاری شده را به عنوان آرگومان مشخص کنید. این روش نمونه ای از ٪ xml. security. datareference را در یک برگه جدید باز می کند.

با روش AddReference () نمونه لیست مرجع خود تماس بگیرید و نمونه مرجع داده را به عنوان آرگومان مشخص کنید.

عنصر را به عنصر هدر WS-Security اضافه کنید. برای انجام این کار با روش AddSecurityElement () خاصیت امنیت مشتری یا سرویس وب خود تماس بگیرید. برای افزودن عنصر ، نمونه لیست مرجع خود را مشخص کنید.

اگر عناصر هدر امنیتی را رمزگذاری کردید ، آنها را به عنصر هدر WS-Security اضافه کنید. برای انجام این کار با روش AddSecurityElement () خاصیت امنیت مشتری یا سرویس وب خود تماس بگیرید. در این حالت ، دو استدلال لازم است:

عنصر هدر امنیتی (نه ٪ xml. security. encrypteddata در یک برگه جدید که از آن تولید کرده اید باز می شود).

نمونه لیست مرجع. آرگومان دوم مشخص می کند که در کجا می توان مورد مشخص شده توسط آرگومان اول را قرار داد. اگر آرگومان های A ، B باشد ، آنگاه Intersystems Iris تضمین می کند که A بعد از B است. شما این را مشخص می کنید تا گیرنده لیست مرجع را ابتدا و بعداً پردازش عنصر عنوان امنیتی رمزگذاری شده که به آن بستگی دارد پردازش می کند.

اگر فقط بدنه صابون را رمزگذاری کنید ، سیستم به طور خودکار عنصری را به عنوان فرزند دارد.

پیام SOAP را ارسال کنید. نظرات کلی را در افزودن عناصر هدر امنیتی مشاهده کنید.

به عنوان مثال ، کد سمت زیر مشتری هم بدنه صابون را رمزگذاری می کند و:

مشتری پیام هایی مانند موارد زیر را ارسال می کند:

برای مثال دیگر ، سرویس وب زیر یک پیام ورودی را دریافت می کند و از آن برای تولید A استفاده می کند که برای رمزگذاری قسمت هایی از پاسخ استفاده می کند:

این سرویس وب پیام هایی مانند موارد زیر را ارسال می کند:

استفاده از A برای امضای

برای استفاده از A برای امضای ، از روش زیر استفاده کنید:

اگر می خواهید عناصر هدر امنیتی را امضا کنید ، آن عناصر هدر امنیتی را ایجاد کنید.

همانطور که در ایجاد و افزودن a شرح داده شده است ، آن را ایجاد کرده و آن را به عنوان WS-Security اضافه کنید.

توجه داشته باشید که این مرحله همچنین عنصری را که مبتنی بر آن است ایجاد و اضافه می کند.

عنصر را بر اساس نشانه کلید مشتق شده ایجاد کنید. برای انجام این کار ، با روش CREATE () کلاس ٪ xml. security. signature در یک برگه جدید تماس بگیرید. مثلا:

این روش نمونه ای از ٪ xml. security. signature را در یک برگه جدید باز می کند که نمایانگر عنصر عنوان است. مقدار امضا از طریق الگوریتم هضم HMAC-SHA1 با استفاده از کلید متقارن که توسط آن دلالت دارد محاسبه می شود.

این عنصر مربوط به مجموعه ای از قسمت های پیش فرض از پیام است. می توانید مجموعه ای از قطعات متفاوت را مشخص کنید.

امضای دیجیتال را به عنصر هدر WS-Security اضافه کنید. برای انجام این کار با روش AddSecurityElement () خاصیت امنیت مشتری یا سرویس وب خود تماس بگیرید. برای آرگومان ، شیء امضای ایجاد شده در مرحله قبل را مشخص کنید. مثلا:

فارکس های ایرانی...
ما را در سایت فارکس های ایرانی دنبال می کنید

برچسب : نویسنده : شبنم خلیلی بازدید : <-PostHit-> تاريخ : شنبه 5 فروردين 1402 ساعت: 0:43