.NET সমাবেশে সই না করায় কোনও সমস্যা?


95

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

আমি অ্যাসেম্বলি সই করার পেছনের মূল ধারণাটি বুঝতে পারি: নির্দিষ্ট অ্যাসেম্বলিকে কোনও ডজি হ্যাকার দ্বারা আপোস করা হয়নি তা নিশ্চিত করার জন্য। সুতরাং আমরা যদি কোনও সফ্টওয়্যার বিকাশকারী সংস্থা হয়ে থাকি তবে আমাদের গ্রাহকদের কাছে কিছু। নেট লাইব্রেরি প্রকাশের আগে আমাদের সমাবেশে স্বাক্ষর করা উচিত।

যাইহোক, আমরা এখানে আমাদের নিজস্ব ব্যবহারের জন্য প্রাথমিকভাবে ওয়েব অ্যাপ্লিকেশনগুলি বিকাশ করি এবং আমরা কেবল আমাদের ব্যবহার প্রতিটি একক সমাবেশে স্বাক্ষর করার বিষয়টি দেখতে পাচ্ছি না।

আমি কি এখানে কিছু মিস করছি?


4
এখানে কিছু বিভ্রান্তি লক্ষ করার মতো, "ডিজিটাল স্বাক্ষর" (যার একটি সুরক্ষার উদ্দেশ্য রয়েছে) এবং "দৃly়ভাবে নামযুক্ত সমাবেশগুলি" যা জাহান্নামকে ঘৃণা করার জন্য এবং জিএসিটিকে গ্রন্থাগারের সাথে সংযোগ স্থাপনে সহায়তা করার একটি স্থির কাজ। এক বা অন্যটি ব্যবহার সমান এবং উভয়ই অ্যাসেম্বলি সই করার ক্ষেত্রে কথা বলা যেতে পারে। দেখে মনে হচ্ছে কিছু পোস্টার একজনের কথা ভাবছেন এবং অন্যরা অন্য একটি বা উভয়ের কথা ভাবছেন।
জোড়া লাগানো

উত্তর:


50

বিশ্বস্ত পরিবেশের মধ্যে ব্যবহৃত অ্যাসেমব্লিগুলিতে স্বাক্ষর করা আমার কাছে ওভারকিলের মতো শোনাচ্ছে।

স্বাক্ষরিত সমাবেশগুলি সম্পর্কে একটি আকর্ষণীয় বিষয় হ'ল স্বাক্ষরযুক্ত অ্যাসেমব্লিগুলির তুলনায় তারা লোড করতে কিছুটা ধীর হয়, কারণ তাদের অবশ্যই ক্রিপ্টোগ্রাফিকভাবে যাচাই করতে হবে।

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


সম্পাদনা এই উত্তরটি লেখার পর থেকে আপনি দেখতে পাচ্ছেন যে প্রো এবং বিপরীতে উভয়ই সমান সমর্থন করে। এখানে সঠিকভাবে সঠিক উত্তর নেই।

যদিও এই সম্পাদনাটি বাধ্যতামূলক বিন্দুটি হ'ল আজকাল আমরা নিউগেট থেকে অনেকগুলি মুক্ত উত্স গ্রন্থাগার গ্রহণ করি এবং সেগুলির মধ্যে বেশিরভাগই স্বাক্ষরিত হয় না। আপনি যদি নিজের সমাবেশে স্বাক্ষর করতে চান তবে আপনার কোনও নির্ভরতাও স্বাক্ষর করা দরকার। স্বাক্ষরিত ওপেন সোর্স লাইব্রেরিগুলির বেশিরভাগের ব্যক্তিগত উত্সগুলি তাদের উত্সের সংগ্রহস্থলে সর্বজনীনভাবে সাইন ইন করার জন্য ব্যবহৃত হয়।

সমস্ত কিছুর মতো ট্রেড-অফ করা হবে। ব্যক্তিগত পরিবেশে কাজ করার আমার অভিজ্ঞতায় সাইন ইন করার সুবিধাগুলি বেশিরভাগ তাত্ত্বিক (বা একাডেমিক, যেমন @ ব্যবহারকারী ২28৯৯০০ উল্লেখ করেছেন), যদি না আপনি সরকারী এজেন্সিগুলিকে আপনার কোডটি সংশোধন করার বিষয়ে উদ্বিগ্ন হন তবে আপনাকে এতগুলি স্তরের সম্পর্কে ভ্রান্ত হতে হবে আপনার অবকাঠামো যে সই করা স্বল্প পরিশ্রমের মতো মনে হবে। অন্যথায় সমস্ত কিছুতে স্বাক্ষর করতে না পেরে যে পরিমাণ চ্যালেঞ্জ ছড়িয়ে পড়েছে তা উপযুক্ত বলে মনে হয় না। তবে আপনার পরিবেশের বিভিন্ন প্রয়োজনীয়তা থাকতে পারে, বা আপনি মাসোশিস্ট হতে পারেন!

শক্তিশালী নাম ব্যবহার করার সময় ভার্সন সংঘের সম্পর্কিত চ্যালেঞ্জ সম্পর্কিত তথ্যের জন্য টিউন ডি এর উত্তরও দেখুন ।


17
সম্মত, এটি এখন তার কাছে একটি ফাটল আসক্তির মতো
জেনি

4
আরও একটি বিষয় লক্ষণীয় হ'ল যদি আপনি এই অ্যাপ্লিকেশনটি বিভিন্ন অ্যাপ্লিকেশন জুড়ে ভাগ করতে চান তবে সই করা অবশ্যই আবশ্যক (অর্থাত্ জিএসি)।
রাজেশ স্তম্ভটি

60

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

স্বাক্ষরিত হলে, আপনি একটি স্বাক্ষর ম্যাচ করতে পারেন, তবে প্রতিস্থাপন করবেন না। জিপ্পি যা বলেছেন তার বিপরীতে, রান-টাইম প্রশংসার ত্রুটি হবে।

অ্যাসেমব্লিগুলিতে স্বাক্ষর করা কখনই ওভারকিল হয় না। এটি 30 সেকেন্ড সময় নেয়। এটা বলার মতো যে আপনি যদি দেশে থাকেন তবে আপনার দরজা লক করা ওভারকিল। আপনি যদি নিজের জিনিসপত্রের সাথে জুয়া খেলতে চান তবে এগিয়ে যান, এটিকে খোলা রাখুন। বরখাস্ত হতে কেবল একটি সুরক্ষা লঙ্ঘন লাগে। এটি একটি সমাবেশে সাইন ইন করতে কেবল 30 সেকেন্ড সময় নেয় এবং এটিতে কোনও ব্যবসায়ের মামলা নেই। পারফরম্যান্সের প্রভাবগুলি নগন্য।


11
যদি কোনও হ্যাকার ডিএল পরিবর্তন করতে পারে তবে তিনি সেই অ্যাপ্লিকেশনটিও পরিবর্তন করতে পারেন যা ডেলকে কল করে।
জিপ্পিভি

12
এটি সঠিক জিপ্পি, তবে অ্যাপ্লিকেশনটিতে স্বাক্ষর করার কীটি না থাকলে তাদের ক্ষেত্রে এমন একটি এনভ্রিওমেন্টে চালিত হওয়ার জন্য অ্যাপ্লিকেশনটি পেতে বেশ অসুবিধা হবে যেখানে কেবলমাত্র মূল অ্যাপ্লিকেশনটির স্বাক্ষরিত সংস্করণটি চালানোর অনুমতি দেওয়া হয়েছে, যা বেশ কয়েকটি ক্ষেত্রে ঘটবে several পরিবেশগুলি আমি কাজ করেছি Your একটি সমাবেশ স্বাক্ষর করুন।
ব্যবহারকারী 289100

39

একটি অতিরিক্ত পয়েন্ট: আপনার সমাবেশগুলিতে সাইন ইন করা ভার্সনের তুলনায় পশ্চাদগম সামঞ্জস্যতা ভঙ্গ করে। আপনার রেফারেন্সগুলি সমস্ত সংস্করণ নম্বর এবং অন্যান্য সংস্করণ নম্বর সহ সংস্করণগুলি অন্তর্ভুক্ত করা শুরু করে non এটি বিতরণ করা সমাবেশগুলির নতুন সংস্করণগুলিতে আপগ্রেড করতে বাধা দেয়।

আমার মতে, আপনি কেবলমাত্র কোড-সাইন অ্যাসেমব্লিগুলি করা উচিত যদি আপনি এটি থেকে কিছু কংক্রিট লাভ দেখেন:

  • যদি আপনি এমন পরিবেশে মোতায়েন করেন যেখানে অবিশ্বস্ত লোকেরা আপনার সমাবেশগুলি স্পর্শ করতে পারে
  • নির্দিষ্ট প্লাগ-ইন মডেলগুলিতে, যেখানে আপনি বিশ্বাসকে আপগ্রেড করার প্রমাণ হিসাবে শংসাপত্রটি ব্যবহার করতে চান
  • যদি আপনার কোডটি অন্য স্বাক্ষরিত কোড থেকে কলযোগ্য হয় (যেমন কোনও প্রকল্প, লগ 4 নেট বলুন, ন্যায়সঙ্গতভাবে তাদের কোডটি ব্যাপকভাবে ব্যবহারযোগ্য হওয়ার জন্য স্বাক্ষর করে; কয়েক বছর আগে তাদের গোপন কীটি হারিয়ে তারা সামঞ্জস্যতার সাথে বিশাল আকার ধারণ করেছিল, কোড-স্বাক্ষরের আরেকটি ঝুঁকি) ।
  • আপনি যদি জিএসি তে মোতায়েন করতে চান

9

আপনার সহকর্মী কী কারণে আপনাকে কোনও ইঙ্গিত দিয়েছে ?তিনি সম্মেলনগুলিতে স্বাক্ষর করতে পছন্দ করেন সে সম্পর্কে ? এখানে সাইন ইন করার একটি সুবিধা যা এখানে এখনও আলোচিত হয়নি তা হ'ল কেবল স্বাক্ষরিত সমাবেশগুলি জিএসি-তে রাখা যেতে পারে (অর্থাত্ পরিচালিত প্রক্রিয়াগুলি জুড়ে ভাগ করা যেতে পারে) তবে ডাউনসাইডগুলি আমার (স্বীকারোক্তিহীন অনভিজ্ঞ) দৃষ্টিকোণ থেকে উত্সাহকে ছাড়িয়ে যাবে বলে মনে হচ্ছে।

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


4
আসলে আমি নিশ্চিত নই কেন কিন্তু মাইক্রোসফট অবশ্যই এন্টারপ্রাইজ লাইব্রেরী 3.1 সাইন ইন না করে
oscarkuo

4
প্রক্রিয়াগুলির মধ্যে একটি সমাবেশ ভাগ করে নেওয়ার জন্য সমাবেশকে জিএসি-তে থাকতে হবে কেন?
ডার্ক ভোলমার 23

4
এটি নয় যে আপনি রানটাইম রেফারেন্সগুলি একই হিসাবে ভাগ করতে পারবেন না d
ড্যান ডেভিস ব্র্যাকেট

4

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


4

সম্মেলনগুলি জিএসি-তে স্থাপন করা হলে স্বাক্ষরগুলি কেবলমাত্র প্রয়োজনীয়। স্বাক্ষরিত অ্যাসেমব্লিগুলি কাউকে তাদের সাথে ঝামেলা করতে বাধা দেয় না। একজন হ্যাকার এখনও স্বাক্ষর এবং অন্য যে কোনও কোড যা স্বাক্ষরের জন্য যাচাই করে তা ছিনিয়ে নিতে পারে।


4
একটি ওয়েব অ্যাপ্লিকেশনের জন্য, হ্যাকারকে ওয়েবকনফিগটিও পরিবর্তন করতে হবে।
টাঙ্গুরেনা

4
যদি কোনও হ্যাকার কোনও সমাবেশ থেকে স্বাক্ষর সরিয়ে ফেলতে পারে তবে ওয়েবকনফিগ সেগুলিও থামিয়ে দিচ্ছে না।
জিপ্পিভি

4
ডাউনভোটারদের ianpicknell.blogspot.com/2010/02/… এবং সেই লিঙ্কযুক্ত অনুরূপ নিবন্ধগুলি পড়তে পরামর্শ দেওয়া হয় ।
কনস্টান্টিন

4
কারেন্ট: হ্যাঁ এবং না আমি চেষ্টা করেছি, এবং উইন্ডোজ ডিফল্ট হ'ল স্বাক্ষর ("বলিষ্ঠ নাম") যাচাই করা নয়। সম্ভবত ব্যবহারকারীবান্ধব হতে হবে :-) রেফারেন্সযুক্ত লিঙ্কগুলি স্বাক্ষর যাচাইয়ের প্রয়োগ করতে App.config এ কী যুক্ত করতে হবে তা দেখায়। এবং তারপরে, নিবন্ধটির বিপরীতে, স্বাক্ষর যাচাই করা সত্যই কাজ করে এবং যে কোনও সংস্করণ এনআর, বা সামগ্রীর সাথে সনাক্ত করা যায় amp
রোল্যান্ড

3

আমি একমত হ'ল কিছুটা বর্জ্য মনে হচ্ছে। ফাইলটি যা মনে করে তা হ'ল এটি নিশ্চিত করার জন্য সত্যই এটি প্রয়োজন (এবং এতে কোনও ছলনা হয়নি)। তবে আপনি যদি নিজের নেটওয়ার্ক সুরক্ষা এবং ওয়েব সার্ভারের সীমানায় বিশ্বাস করেন তবে আপনার ওয়েব অ্যাসেমব্লিগুলিতে স্বাক্ষর করা একটি অপ্রয়োজনীয় পদক্ষেপ বলে মনে হচ্ছে।

তবে এটি আমার ছোট-অভিজ্ঞতার সাথে কথা বলার অভিজ্ঞতা। আপনি যদি মিশন-সমালোচনামূলক অনলাইন ব্যাংকিং ওয়েবসাইটের কথা বলছেন তবে সাইন আপ করুন।


2

আপনি কিছু শিপ করতে চলেছেন এবং / অথবা আসলে এটি করার কোনও কারণ থাকলে এটি করার বিষয়ে ভাবুন। অন্য প্রতিটি ক্ষেত্রে, এটি কেবল ঝামেলা। আমি আপনার সহকর্মীকে জিজ্ঞাসা করব যে তিনি আসলে এই কাজটি থেকে বেরিয়ে আসেন।

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


1

আপনার সমাবেশটি সাইন করা দরকার যখন এটি ওয়েব- ক্লিক ক্লিকঅনস এক্সবিএপি -র একটি ডিপ্লয় -এ ব্যবহৃত হয়

এছাড়াও, সমস্ত রেফারেন্স অ্যাসেমব্লিকেও স্বাক্ষর করতে হবে।


1

আমরা আমাদের অ্যাসেমব্লিগুলিতে স্বাক্ষর করি কারণ এমন সময় রয়েছে যখন আমরা নীচের মতো ত্রুটি পাই (এটি একটি পরীক্ষার থেকে, তবে অ্যাপ্লিকেশনটি চালানোর সময় ঘটতে পারে):

System.IO.FileLoadException : Could not load file or assembly 'Latitude.Platform.Core, Version=1.0.5871.22518, Culture=neutral, PublicKeyToken=7926214d13e12325' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

TearDown : System.IO.FileLoadException : Could not load file or assembly 'Latitude.Platform.Core, Version=1.0.5871.22518, Culture=neutral, PublicKeyToken=7926214d13e12325' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

আমরা দেখতে পেয়েছি যে ভিজ্যুয়াল স্টুডিও কখনও কখনও এটি ভুল হয়ে যায় এবং পুরানো কোড চালায়

আপনি যদি পুরানো কোড চালাচ্ছেন তবে যদি কোনও ত্রুটি চান, তবে আপনার সমাবেশগুলিতে সাইন করুন।

আপনি যদি একটি ন্যুগেট প্যাকেজ লিখছেন , দয়া করে আপনার সমাবেশগুলি সাইন করুন । স্বাক্ষরযুক্ত অ্যাসেমব্লিগুলি আমাদের জন্য বিশ্রী যাঁরা নিশ্চিত করতে চান যে আমরা আমাদের কোডের সর্বশেষ সংস্করণটি চালাচ্ছি। আমি ভিজ্যুয়াল স্টুডিও ঠিক করতে পারি না । আমি যা করতে পারি তা হ'ল ভিজ্যুয়াল স্টুডিওতে এটির ভুল হয়েছে। সুতরাং দয়া করে আপনার নুগেট অ্যাসেম্বলিতে স্বাক্ষর করুন


আপডেট: স্বাক্ষরবিহীন সমাবেশগুলি ব্যবহারের জোয়ার জিতেছে;) আমরা উপরে সমস্যাটি অন্যরকমভাবে সমাধান করছি: একটি সিআই সার্ভারে একটি ফাঁকা বা "ক্লিন" এডি ডিরেক্টরি থেকে শুরু করে পরীক্ষা করুন build হয়তো আমাদের ডেভ মেশিনে স্থানীয়ভাবে দৃশ্যটি রয়েছে তবে এটি বিরল বা এর ব্যবহারিক প্রভাব খুব কমই ঘটে।
ক্লে লেনহার্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.