একটি .snk কি জন্য?


153

.Snk ফাইলটি কীসের জন্য? আমি জানি এটি স্ট্রংলি নামযুক্ত কী বোঝায় , তবে এটি কী এবং এটি কীভাবে কাজ করে তার সমস্ত ব্যাখ্যা আমার মাথার উপরে চলে যায়।

দৃ strongly়ভাবে নামের কীটি কীভাবে ব্যবহৃত হয় এবং কীভাবে এটি কার্যকর হয় তার কোনও সহজ ব্যাখ্যা আছে?

উত্তর:


212

.Snk ফাইলটি .NET সমাবেশে একটি শক্ত নাম প্রয়োগ করতে ব্যবহৃত হয় । যেমন একটি শক্ত নাম অন্তর্ভুক্ত

একটি সাধারণ পাঠ্যের নাম, সংস্করণ নম্বর এবং সংস্কৃতি সম্পর্কিত তথ্য (যদি সরবরাহ করা হয়) - পাবলিক কী এবং ডিজিটাল স্বাক্ষর প্লাস করুন।

এসএনকে একটি অনন্য কী জুড়ি রয়েছে - একটি ব্যক্তিগত এবং সর্বজনীন কী যা আপনার সমাবেশের জন্য একটি অনন্য দৃ strong় নাম রয়েছে তা নিশ্চিত করতে ব্যবহার করা যেতে পারে। সমাবেশের দৃ strongly় নামকরণ করা হলে, সমাবেশের বিষয়বস্তুগুলি থেকে একটি "হ্যাশ" তৈরি করা হয় এবং হ্যাশটি ব্যক্তিগত কী দ্বারা এনক্রিপ্ট করা হয়। তারপরে এই স্বাক্ষরযুক্ত হ্যাশটিকে .snk থেকে পাবলিক কী সহ সমাবেশে স্থাপন করা হয়েছে।

পরবর্তীতে, যখন কাউকে দৃ -়ভাবে নামযুক্ত সমাবেশের অখণ্ডতা যাচাই করা দরকার হয়, তারা সমাবেশের বিষয়বস্তুর একটি হ্যাশ তৈরি করে এবং সমাবেশের সাথে আসা হ্যাশটি ডিক্রিপ্ট করার জন্য সমাবেশ থেকে পাবলিক কী ব্যবহার করে - যদি দুটি হ্যাশ মিলে যায়, সমাবেশ যাচাই পাস।

এই অ্যাপ্লিকেশনগুলিকে এই পদ্ধতিতে যাচাই করতে সক্ষম হওয়া জরুরী যে কেউ যাতে কোনও ক্ষতিকারককে পুরো অ্যাপ্লিকেশনটিকে বিপর্যস্ত করে তোলে তার জন্য কোনও সমাবেশের সন্ধান না করে। এই কারণেই অ-শক্তিশালী নামধারী অ্যাসেমব্লিগুলি একইভাবে বিশ্বস্ত হয় না যেমন দৃ are়ভাবে নামযুক্ত সমাবেশগুলি হয়, তাই সেগুলি জিএসি তে রাখা যায় না। এছাড়াও, বিশ্বাসের একটি শৃঙ্খলা রয়েছে - আপনি দৃ strongly়-নামযুক্ত সংসদ তৈরি করতে পারবেন না যা অ-দৃ strongly়-নামযুক্ত সমাবেশগুলি উল্লেখ করে।

নিবন্ধ " শক্তিশালী নামকরণের গোপনীয়তা "। আরও বিস্তারিতভাবে এই ধারণাগুলি ব্যাখ্যা করার একটি দুর্দান্ত কাজ করে। ছবি সহ।


2
এর অর্থ কি এই যে আপনি যখন একটি .PFX- এর মাধ্যমে কোনও অ্যাসেমব্লিকে স্বাক্ষর করেন, এটি যখনই কম্পাইল করে তখনই এটি ফ্লাইটে একটি .SNK জেনারেট করতে ব্যবহার করে?
প্যাট্রিক

5
@ পেট্রিক নং, এটিই প্রমাণীকৃত স্বাক্ষর যা প্রমাণ করে যে সাইন এবং চেকের মধ্যে ফাইলটি সংশোধন করা হয়নি, দৃ name় নামের প্রয়োজনীয়তা পূরণ করে না। সমস্যাটি হল প্রমাণীকরণের জন্য অ্যাসেমব্লির বিশ্বাসের একটি শৃঙ্খলের প্রয়োজন হয় না যে শক্তিশালী নামকরণের প্রয়োজন হয় যাতে আপনি কোনও অ্যাসেম্বলিতে স্বাক্ষর করতে পারেন যা শক্তিশালী নামযুক্ত / স্বাক্ষরিত সমাবেশগুলিতে নির্ভর করে।
স্কট চেম্বারলাইন

1
আপনি কেবল জলখাবারটি কেটে ফেলতে পারেন এবং এটির সাথে অন্য একটি প্রতিস্থাপন করতে পারেন .. এটির বাস্তব পরিস্থিতি আমার জানা নেই যেখানে এটি দরকারী it's এটি মূলত আমাদের মূল জোড়া আপনি এটির উপর বিশ্বাস তৈরি করতে পারবেন না
ইব্রাহিম


22

নেট নেটওয়ার্কে আপনার সংকলিত বাইনারিগুলিতে স্বাক্ষর করতে এসএনকে ফাইল ব্যবহার করা হয়। এটি কয়েকটি জিনিস ঘটতে দেয়:

  1. আপনি জ্যাকের (গ্লোবাল অ্যাসেম্বলি ক্যাশে) অ্যাসেম্বলিটি নিবন্ধন করতে পারেন । মূলত তাই আপনি একাধিক অনুলিপি বজায় না রেখে একই মেশিনে অনেক জায়গা থেকে এটি উল্লেখ করতে পারেন)।
  2. আপনি স্বাক্ষরযুক্ত অন্যান্য বাইনারিগুলির মধ্যে থেকে আপনার বাইনারিগুলি ব্যবহার করতে পারেন (স্বাক্ষরিত সমাবেশগুলির ক্ষেত্রে এটি একটি অদ্ভুত ভাইরাল আচরণ))
  3. আপনার সমাবেশ তৃতীয় পক্ষের দ্বারা (সহজেই) সংশোধন করা যাবে না যাদের এসএনকে ফাইলে অ্যাক্সেস নেই, তারা কমপক্ষে অল্প পরিমাণ সুরক্ষা সরবরাহ করে।

আমি কীভাবে বিজটালক সার্ভারটি কাজ করে তার সাথে পরিচিত নই , তাই আমি মনে করি না যে তারা সেই পরিবেশের মধ্যে কী নির্দিষ্ট উদ্দেশ্যে কাজ করে সে সম্পর্কে আমি খুব বেশি আলোকপাত করতে পারি।

আশা করি এটি কিছুটা সহায়ক ছিল।


7

.Snk ফাইলটি গ্লোবাল অ্যাসেম্বলি ক্যাশে (জিএসি) এ যুক্ত করতে সক্ষম হওয়ার জন্য অ্যাসেমব্লিগুলিতে স্বাক্ষর করার জন্য ব্যবহৃত হয়।

.Snk ফাইলটিতে আপনার কীটির জন্য সর্বজনীন এবং ব্যক্তিগত টোকেন রয়েছে। যখন আপনি সেই কী দিয়ে কিছু ডেটা (বা বাইনারি) সাইন করতে চান, তখন একটি চেকসাম ডেটাতে গণনা করা হয়, যা পরে ব্যক্তিগত টোকেনের সাহায্যে এনক্রিপ্ট করা হয়। এরপরে এনক্রিপ্ট করা চেকসামটি ডেটাতে যুক্ত করা হয়। যে কেউ আপনার কী থেকে জনসাধারণের টোকেনটি চেকসামটি ডিক্রিপ্ট করার জন্য এবং স্বাক্ষরিত ডেটাটি টেম্পার করে না তা যাচাই করার জন্য তারা গণনা করা চেকসামের সাথে তুলনা করতে পারে।

আপনি http://en.wikedia.org/wiki/Public-key_cryptography- এ পাবলিক কী ক্রিপ্টোগ্রাফি সম্পর্কে আরও পড়তে পারেন ।


4

একটি .snk ফাইল ফ্রেমওয়ার্ক ইউটিলিটি সেটে স্ন ইউটিলিটি দ্বারা উত্পাদিত আপনার "কী" এর একটি অবিরাম সংস্করণ। তারপরে আপনি এই ফাইলগুলি আপনার সমাবেশগুলি 'ডিজিটালি স্বাক্ষর করতে' ব্যবহার করুন। এটি একটি 2-অংশ কী .. ব্যক্তিগত-সর্বজনীন কী সংমিশ্রণ। কীটির সার্বজনীন অংশ প্রকাশিত অর্থাৎ সকলের কাছে জানা। ব্যক্তিগত অংশটি কেবল আপনার কাছেই পরিচিত, উপাদান / অ্যাপ্লিকেশন বিকাশকারী এবং সেভাবেই রাখার ইচ্ছা রয়েছে।

আপনি যখন আপনার সমাবেশে স্বাক্ষর করেন, এটি আপনার সমাবেশে এম্বেড থাকা একটি ডিজিটাল স্বাক্ষর তৈরি করতে আপনার সমাবেশের জন্য ব্যক্তিগত কী এবং একটি হ্যাশ মান ব্যবহার করে। এরপরে, যে কেউ আপনার সমাবেশটি লোড করে সে একটি যাচাইকরণের পদক্ষেপের মধ্য দিয়ে যায়। সমাবেশটি আপনার কাছ থেকে আসলে আসে কিনা তা যাচাই করার জন্য পাবলিক কী ব্যবহার করা হয় .. এর জন্য আপনার কেবল সর্বজনীন কী প্রয়োজন (এটি বিধানসভা ম্যানিফেস্টে টোকানযুক্ত আকারে এম্বেড করাও রয়েছে)। অ্যাসেমব্লিকে যদি হস্তক্ষেপ করা হয় তবে হ্যাশটির মান আলাদা হবে এবং অ্যাসেম্বলি লোড বাতিল হয়ে যাবে। এটি একটি সুরক্ষা ব্যবস্থা।


3

একটি .snk ফাইলটি আপনার জায়গায় অন্য যে কোনও একটি তাদের নিজের সমাবেশকে পিছলে যেতে না পারে তা নিশ্চিত করার জন্য ব্যবহৃত হয়। এটি একজোড়া এনক্রিপশন / ডিক্রিপশন কী সরবরাহ করে।

যখন একটি .snk ফাইলটি অ্যাসেম্বলিতে স্বাক্ষর করতে ব্যবহৃত হয়, হ্যাশকোড মানটি এসেম্বলি ফাইল থেকে গণনা করা হয় এবং ব্যক্তিগত কী ব্যবহার করে এনক্রিপ্ট করা হয়। এনক্রিপ্ট করা "ডাইজেস্ট" এরপরে .snk ফাইল থেকে পাবলিক কী সহ একত্রিত হয়ে অ্যাসেমব্লিকে নিয়ে যাওয়া হয়।

তারপরে যখন কেউ আপনার সমাবেশ পান, তারা সেই হ্যাশকোড মানটিও গণনা করতে পারে। আপনি গণনা করেছেন এমন একটিটিকে ডিক্রিপ্ট করতে এবং গণনা করা মানের সাথে তুলনা করতে তারা পাবলিক কী ব্যবহার করে। সমাবেশটি যদি আদৌ পরিবর্তিত হয়ে থাকে তবে সেই মানগুলি পৃথক হবে এবং সমাবেশের ব্যবহারকারীরা জানতে পারবেন যে আপনার যে সমাবেশটি দিয়েছেন তা নয়।

বিজটালক সার্ভারের প্রসঙ্গে, যে কেউ আপনার বিটটালক সমাধান দ্বারা ব্যবহৃত যে কোনও কাস্টম অ্যাসেমসিলি তৈরি করে তাকে অ্যাসেম্বলিতে স্বাক্ষর করতে একটি .snk ফাইল ব্যবহার করতে হবে যাতে বিজটালক সার্ভার এটি জিএসি-তে লোড করতে এবং এটি ব্যবহার করতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.