অনুরোধটি বাতিল করা হয়েছে: এসএসএল / টিএলএস সুরক্ষিত চ্যানেল তৈরি করতে পারেনি


430

WebRequestএই ত্রুটি বার্তার কারণে আমরা এইচটিটিপিএস সার্ভারের সাথে সংযোগ রাখতে পারছি না :

The request was aborted: Could not create SSL/TLS secure channel.

আমরা জানি যে সার্ভারটির ব্যবহৃত পথটি সহ একটি বৈধ HTTPS শংসাপত্র নেই, তবে এই সমস্যাটিকে বাইপাস করতে আমরা নিম্নলিখিত কোডটি ব্যবহার করি যা আমরা অন্য স্ট্যাকওভারফ্লো পোস্ট থেকে নিয়েছি:

private void Somewhere() {
    ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(AlwaysGoodCertificate);
}

private static bool AlwaysGoodCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors) {
   return true;
}

সমস্যাটি হ'ল সার্ভার কখনই শংসাপত্রকে বৈধতা দেয় না এবং উপরের ত্রুটিটি দিয়ে ব্যর্থ হয়। আমার কী করা উচিত সে সম্পর্কে কারও কি ধারণা আছে?


আমার উল্লেখ করা উচিত যে কয়েক সপ্তাহ আগে একজন সহকর্মী এবং আমি পরীক্ষাগুলি সম্পাদন করেছি এবং আমি উপরে যা লিখেছি তার অনুরূপ কিছু নিয়ে এটি কাজ করে চলেছিল। কেবলমাত্র "প্রধান পার্থক্য" যা আমরা পেয়েছি তা হ'ল আমি উইন্ডোজ using ব্যবহার করছি এবং সে উইন্ডোজ এক্সপি ব্যবহার করছিল। এটি কিছু পরিবর্তন করে?



51
এটি 2018 এবং এই প্রশ্নটি 308,056 বার দেখা হয়েছে তবে এখনও এটির জন্য কোনও ঠিকঠাক নেই! আমি এই সমস্যাটি এলোমেলোভাবে পেয়েছি এবং এখানে বা অন্য কোনও থ্রেডে উল্লিখিত কোনও সমাধানই আমার সমস্যাটির সমাধান করেনি।
নাইজেল এফ ডি এস

3
@ নিগেলফিডস ত্রুটিটি The request was aborted: Could not create SSL/TLS secure channelএকটি খুব সাধারণ। এটি মূলত বলেছে, "এসএসএল / টিএলএস / এইচটিটিপিএস সংযোগ সূচনা অনেকগুলি সম্ভাব্য কারণে একটিতে ব্যর্থ হয়েছে"। সুতরাং আপনি যদি এটি কোনও নির্দিষ্ট পরিস্থিতিতে নিয়মিত পান তবে আপনার সর্বোত্তম বিকল্পটি সেই পরিস্থিতি সম্পর্কে সুনির্দিষ্ট বিবরণ দিয়ে একটি নির্দিষ্ট প্রশ্ন জিজ্ঞাসা করা। এবং আরও তথ্যের জন্য ইভেন্ট ভিউয়ার চেক করুন। এবং / অথবা আরও বিশদ পাওয়ার জন্য কিছু .NET ক্লায়েন্ট-সাইড ডিবাগিং সক্ষম করুন (সার্ভারের শংসাপত্রটি বিশ্বাসযোগ্য নয়? একটি সিফার মিল নেই? এসএসএল / টিএলএস প্রোটোকল সংস্করণ মেলে না? ইত্যাদি)।
মার্নিক্সক্লুস্টার পুনরায় ইনস্টল করুন মনিকা

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

1
আমি এই সমস্যাটি সম্ভবত 4 র্থ বারের জন্য লড়াই করছি। আমি যে কোড চালাচ্ছি একই কোডটি উত্পাদন এবং আমার কিছু সহযোগী দেবের দেব পরিবেশে ভাল কাজ করে। শেষ বারের দিকে, আমাকে একটি রেজিস্ট্রি মান যুক্ত করার নির্দেশ দেওয়া হয়েছিল কম্পিউটার \ এইচকেওয়াই_লোকাল_ম্যাচিন \ সফটওয়্যার \ ওয়াও \৪৩৩ নোড \ মাইক্রোসফ্ট \। নেটফ্রেমওয়ার্ক \ v4.7.02046 \ শোসস্ট্রংক্রিপ্টো [ডিডবর্ড] = ১ এবং এটি কিছুক্ষণের জন্য কাজ করেছিল। আমি কিছু সময়ের জন্য একটি পৃথক প্রকল্পে কাজ শুরু করেছিলাম এবং এখন আমি এই প্রকল্পে ফিরে এসেছি এবং অনুরোধটি আবার ব্যর্থ হয় এমনকি এই রেজিস্ট্রি কী স্থির করেও। খুবই বিরক্তিকর.
মিগুয়েল

উত্তর:


597

অবশেষে আমি উত্তরটি পেয়েছি (আমি আমার উত্সটি লক্ষ্য করেছি না তবে এটি অনুসন্ধান থেকে এসেছে);

কোডটি উইন্ডোজ এক্সপিতে উইন্ডোজ in এ কাজ করার সময় আপনাকে অবশ্যই এটি শুরুতে যুক্ত করতে হবে:

// using System.Net;
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
// Use SecurityProtocolType.Ssl3 if needed for compatibility reasons

এবং এখন, এটি নিখুঁতভাবে কাজ করে।


অভিযোজ্য বস্তু

রবিন ফরাসি দ্বারা উল্লিখিত; আপনি যদি পেপাল কনফিগার করার সময় এই সমস্যাটি পান তবে দয়া করে নোট করুন যে তারা এসএসএল 3 ডিসেম্বর, 2018 এর মধ্যে শুরু করবেন না। আপনাকে টিএলএস ব্যবহার করতে হবে। এখানে পেপ্যাল পৃষ্ঠা এটি সম্পর্কে।


5
সিকিউরিটিপ্রোটোকল টাইপ.টিএলএস 12 এ গিয়ে আমার জন্য এই সমস্যাটি স্থির করে। আমার উত্তর নীচে দেখুন।
ব্রায়ান কিংবদন্তি

24
@LoneCoder বিশেষ পরামর্শ দেওয়া হচ্ছে যেমন SecurityProtocolType.Tls12 SecurityProtocolType.Ssl3 জন্য উপযুক্ত প্রতিস্থাপন হয় - SSLv3 18 বছর বয়সী এবং এখন poodle সমর্থ কাজে লাগান হয়
গ্যারি

4
সিকিউরিটিপ্রোটোকল টাইপ.তাদের জন্য কোনও শোষণের সন্ধান না পাওয়া পর্যন্ত টিটিএসগুলি আসলে আরও ভাল বিকল্প হতে পারে (সমস্ত সাইট Tls12 লেখার পক্ষে সমর্থন করে না)
গ্যারি

3
পেপাল এসএসএল 3 অক্ষম করতে এবং টিএলএস 1.2 বাস্তবায়নের জন্য 30 জুন 2017 তারিখ নির্ধারণ করেছে। এটি ইতিমধ্যে তাদের স্যান্ডবক্স পরিবেশে প্রয়োগ করা হয়েছে পেপাল
রবিন ফরাসী

11
দেখুন এই পাশাপাশি। আপনাকে এককভাবে এটি এককভাবে সেট করার দরকার নেই, আপনি কেবল পাশাপাশি সংযোজন করতে পারেন। System.Net.ServicePointManager.SecurityProtocol |= System.Net.SecurityProtocolType.Tls12;
Nae থেকে

153

এটির সমাধান, .NET 4.5 এ

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

আপনার কাছে .NET 4.5 না থাকলে ব্যবহার করুন

ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;

10
ধন্যবাদ! আমার .net 4.0 ব্যবহার করা দরকার এবং এটি কীভাবে সমাধান করা যায় তা জানতাম না। এটি এখানে কাজ করে বলে মনে হচ্ছে। :)
ফ্যাবিও

উইন্ডোজ সার্ভার 2008 আর 2-তে কাজ করে না (এবং সম্ভবত 2012
তেও

@billpg পড়তে এই আরো সঠিক উত্তরের জন্য
Vikrant

ভিবি প্রকারের জন্য (যেহেতু এই উত্তরটি গুগলে প্রদর্শিত হবে), সমতুল্য কোডটিServicePointManager.SecurityProtocol = DirectCast(3072, SecurityProtocolType)
কনফিউশন

@ আন্ড্রেজ জেড। নেট ফ্রেমওয়ার্কে এটি কাজ করছে 4. ধন্যবাদ।
আজ এভ

107

HTTPWebRequest তৈরি হওয়ার আগে সার্ভিসপয়েন্ট ম্যানেজার সেটিংস তৈরি হয়েছে তা নিশ্চিত করুন, অন্যথায় এটি কাজ করবে না।

কাজ করে:

        ServicePointManager.Expect100Continue = true;
        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
               | SecurityProtocolType.Tls11
               | SecurityProtocolType.Tls12
               | SecurityProtocolType.Ssl3;

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://google.com/api/")

ব্যর্থ হলে:

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://google.com/api/")

        ServicePointManager.Expect100Continue = true;
        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
               | SecurityProtocolType.Tls11
               | SecurityProtocolType.Tls12
               | SecurityProtocolType.Ssl3;

4
আপনি উল্লিখিত ওয়ার্কস এবং ব্যর্থতার মধ্যে পার্থক্য কী?
চান্ডি কুনহু

5
অসাধারণ. আমার অনুরোধটি কেবল দ্বিতীয় চেষ্টা করার পরে কাজ করেছিল, যা কোনও অর্থবোধ করে না এবং তারপরে আমি আপনার পোস্ট দেখেছি, অনুরোধের আগে সুরক্ষা প্রোটোকলটি সরিয়ে নিয়েছি, ঠিক আছে। ধন্যবাদ @ হোগার্থ 45
Deanwilliammills

2
একদম ঠিক! অনুরোধটি তৈরি হওয়ার ঠিক আগে যখন আমি সার্ভিসপয়েন্ট ম্যানেজার রাখি তখন এটি আমার পক্ষে কাজ করে, ধন্যবাদ মানুষ, আপনি আমার দিনটি বাঁচিয়েছিলেন।

1
পারফেক্ট ... এটি দুর্দান্ত
মেরিয়াম বাঘেরি

1
আমাদের ক্ষেত্রে, অনুরোধটি প্রথমবারের জন্য ব্যর্থ হয়েছিল এবং পরে কাজ করে worked ঠিক এই কারণেই এই উত্তরে বর্ণিত কারণ!
মোহাম্মদ দেহঘান

34

আপনার যে সমস্যা হচ্ছে তা হ'ল এসপনেট ব্যবহারকারীর শংসাপত্রের অ্যাক্সেস নেই। আপনি winhttpcertcfg.exe ব্যবহার করে অ্যাক্সেস দিতে হবে

কীভাবে এটি সেট আপ করবেন তার একটি উদাহরণ এখানে রয়েছে: http://support.microsoft.com/kb/901183

আরও তথ্যে 2 পদক্ষেপের অধীনে

সম্পাদনা: আইআইএসের আরও সাম্প্রতিক সংস্করণগুলিতে, এই বৈশিষ্ট্যটি শংসাপত্র ব্যবস্থাপক সরঞ্জামটিতে অন্তর্নির্মিত হয় - এবং শংসাপত্রটিতে ডান ক্লিক করে এবং প্রাইভেট কীগুলি পরিচালনা করার বিকল্পটি ব্যবহার করে অ্যাক্সেস করা যায়। আরও বিশদ এখানে: /server/131046/how-to-grant-iis-7-5-access-to-a-cerર્ટate-in-cerર્ટate-store / 132791#132791


আমি winhttpcertcfg.exe চালানোর চেষ্টা করেছি ... নোট করুন যে আমি উইন্ডোজ on এ আছি এটি কি কিছু পরিবর্তন করতে পারে?
সাইমন ডুগ্রে

এটি সম্পর্কিত কিনা তা সম্পর্কে আমি নিশ্চিত নই, তবে এই পোস্টটি আমাকে ভিএস থেকে এই কল করার সময় প্রশাসক হিসাবে ভিএস চালানোর ধারণা দিয়েছে এবং এটি আমার জন্য সমস্যাটি স্থির করেছে।
পিফরঞ্চাইজি

2
উইন্ডোজ 7 এবং
তারপরে,

1
হ্যাঁ, এটি আমার সমস্যা ছিল। mmc.exe ব্যবহার করুন, শংসাপত্রগুলি স্ন্যাপ-ইন যুক্ত করুন (আমার জন্য আমি পরে 'স্থানীয় কম্পিউটার' বেছে নিয়েছি)। রাইট-ক্লিক শংসাপত্র, সমস্ত কাজ, ব্যক্তিগত কী পরিচালনা করে। 'প্রত্যেককে' যুক্ত করুন (স্থানীয় দেবের পক্ষে এটি সবচেয়ে সহজ - আপনার স্পষ্টতই আইআইএস ওয়েবসাইট অ্যাপ পুল / ব্যবহারকারীর অবশ্যই দরকার)
ইয়ান ইয়েটস

@ লিয়ান ইয়েটস, এই সমাধানটি কেবল আমার (y) জন্য কাজ করেছে
উসমান ইউনাস

31

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

সেরা সমাধান হ'ল চ্যানেল সমস্যা সমাধানের সরঞ্জাম সেট ব্যবহার করা। স্ক্যানেল হ'ল এসএসপিআই সরবরাহকারী এসএসএল এবং টিএলএস এর জন্য দায়ী এবং আপনার ক্লায়েন্ট এটি হ্যান্ডশেকের জন্য ব্যবহার করবে। কটাক্ষপাত TLS / SSL এর সরঞ্জামগুলি এবং সেটিংস

কীভাবে স্ক্যানেল ইভেন্টের লগিং সক্ষম করবেন তা দেখুন ।


কোথায় পাথ জন্য Schannel event loggingউইন্ডোজ 7-8-10 ?
প্রিগ্যান্টকোজোনিরো ক্যাব্রন

টি # এস / এসএসএল সি # তে প্রোগ্রামক্রমে সমস্যা সমাধান ?
কিকিনেট

27

Https://ct.mob0.com/Styles/Fun.png হিট করার চেষ্টা করে আমার এই সমস্যা হয়েছিল , যা এটি সিডিএন-তে ক্লাউডফ্লেয়ার দ্বারা বিতরণ করা একটি চিত্র যা এসপিডিওয়াইয়ের মতো পাগল জিনিসগুলিকে সমর্থন করে এবং অদ্ভুত পুনঃনির্দেশিত এসএসএল শংসাপত্রগুলি।

সাইমনস জবাব হিসাবে এসএসএল 3 উল্লেখ করার পরিবর্তে আমি টিএসএস 12 এ গিয়ে এটি ঠিক করতে সক্ষম হয়েছি:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
new WebClient().DownloadData("https://ct.mob0.com/Styles/Fun.png");

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

এটি আমার পক্ষে কাজ করেছে। আমি যখন অফিসের ল্যান থেকে আমার হোম নেটওয়ার্কে স্যুইচ করেছি তখন আমি ত্রুটির মুখোমুখি হয়েছি। একই কোড, একই ল্যাপটপ!
অমল

আপনি কি সর্বদা (সমস্ত অনুরোধে) বা কখনও কখনও ত্রুটি পান ?
PreguntonCojoneroCabrón

24

এই একই সমস্যা সহ অনেক দীর্ঘ সময় পরে আমি দেখতে পেলাম যে ক্লায়েন্ট পরিষেবাটি যে এএসপি.এনইটি অ্যাকাউন্টের অধীনে চলছে সেটির শংসাপত্রের অ্যাক্সেস নেই। ওয়েব অ্যাপটি যে আইওএস অ্যাপ্লিকেশনটির অধীনে চলেছে সেগুলিতে গিয়ে, অ্যাডভান্সড সেটিংসে গিয়ে এবং LocalSystemঅ্যাকাউন্ট থেকে পরিচয় পরিবর্তন করে আমি এটিকে ঠিক করেছি NetworkService

ডিফল্ট NetworkServiceঅ্যাকাউন্টের সাথে শংসাপত্রটি কাজ করা আরও ভাল সমাধান তবে এটি দ্রুত কার্যকরী পরীক্ষার জন্য কাজ করে।


3
এই উত্তরের আরও বেশি ভোট হওয়া উচিত। এক সপ্তাহ গবেষণার পরে, এটিই আমার জন্য কাজ করা একমাত্র সমাধান। ধন্যবাদ !!
ব্যবহারকারী 224567893

এটি আমার পক্ষে কাজ করেছে। নিখুঁত ধন্যবাদ
এমি পরিসংখ্যান

18

সেটিং সঙ্গে পদ্ধতির

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

ঠিক আছে বলে মনে হচ্ছে, কারণ Tls1.2 সুরক্ষিত প্রোটোকলের সর্বশেষতম সংস্করণ। তবে আমি গভীর থেকে তাকাতে এবং উত্তর দেওয়ার সিদ্ধান্ত নিয়েছি আমাদের এটিকে হার্ডকোড করা দরকার।

স্পেসস: উইন্ডোজ সার্ভার 2012R2 x64।

ইন্টারনেট থেকে সেখানে বলা হয় যে নেট ফ্রেমওয়ার্ক 4.6+ অবশ্যই ডিফল্টরূপে Tls1.2 ব্যবহার করতে পারে। তবে আমি যখন আমার প্রকল্পটি 4.6-এ আপডেট করেছি তখন কিছুই ঘটেনি। আমি কিছু তথ্য পেয়েছি যা ডিফল্টরূপে Tls1.2 সক্ষম করার জন্য আমাকে ম্যানুয়ালি কিছু পরিবর্তন করতে হবে বলে জানিয়েছে

https://support.microsoft.com/en-in/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi

তবে প্রস্তাবিত উইন্ডোজ আপডেট আর 2 সংস্করণে কাজ করে না

তবে যা আমাকে সাহায্য করেছে তা রেজিস্ট্রিতে 2 টি মান যুক্ত করছে। আপনি পরবর্তী পিএস স্ক্রিপ্ট ব্যবহার করতে পারেন যাতে সেগুলি স্বয়ংক্রিয়ভাবে যুক্ত হবে

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord

এটি আমি যা খুঁজছিলাম এক ধরণের। তবে তবুও আমি এই প্রশ্নের উত্তর দিতে পারছি না যে নেটফ্রেমওয়ার্ক 4.6+ কেন সেট করে না ... প্রোটোকল মান স্বয়ংক্রিয়ভাবে?


17

মূল উত্তরটির কিছু ছিল না। আমি বুলেট প্রুফ তৈরি করতে আরও কিছু কোড যুক্ত করেছি।

ServicePointManager.Expect100Continue = true;
        ServicePointManager.DefaultConnectionLimit = 9999;
        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;

8
আমি যুক্ত এসএসএল 3 প্রোটোকলের সুপারিশ করব না।
পিটার ডি ব্রুইজন

এসএসএল'এর 'পডল' নামে একটি গুরুতর সুরক্ষা সমস্যা রয়েছে।
পিটার ডি ব্রুইজন

@ পিটারডে ব্রুইজন Tls and Tls11কি অপ্রচলিত ?
কিকিনেট

1
@ কিকিনেট - হ্যাঁ জুন 2018 পর্যন্ত পিসিআই (পেমেন্ট কার্ড ইন্ডাস্ট্রিজ) টিএলএস 1.2 এর চেয়ে কম প্রোটোকলকে অনুমতি দেবে না। (এটি প্রকৃতপক্ষে 06/2017 এ স্থগিত করা হয়েছিল তবে এক বছরের জন্য স্থগিত করা হয়েছিল)
GlennG

এসএসএল / টিএলএস পরিবারে পাঁচটি প্রোটোকল রয়েছে : SSL v2, SSL v3, TLS v1.0, TLS v1.1, এবং TLS v1.2 : github.com/ssllabs/research/wiki/… SSL v2 unsecure, SSL v3 is insecure when used with HTTP (the POODLE attack), TLS v1.0, TLS v1.1 obsoletes কেবল বৈধ বিকল্প হবে ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12?
কিকিনেট

14

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

শংসাপত্র আমদানি ডায়ালগ


একজন ক্লায়েন্টকে ক্লায়েন্ট প্রোগ্রামটি ব্যবহার করার জন্য পুনরায় ইনস্টল করতে হবে। বারবার তাদের প্রোগ্রামটি ব্যবহার করার আগে পুনরায় ইনস্টল করতে হবে। আমি আশা করছি এই উত্তরটি এই সমস্যার সমাধান করেছে।
পাঙ্গামা

11

"অনুরোধটি বাতিল করে দেওয়া হয়েছিল: এসএসএল / টিএলএস সুরক্ষিত চ্যানেল তৈরি করতে পারেনি" ব্যতিক্রম ঘটতে পারে যদি সার্ভারটি এইচটিটিপি 401 অননুমোদিত প্রতিক্রিয়া HTTP অনুরোধে ফেরত দেয়।

ট্রেস-লেভেল সিস্টেমটি চালু করে আপনি এটি নির্ধারণ করতে পারেন this এই উত্তরে বর্ণিত হিসাবে আপনার ক্লায়েন্ট অ্যাপ্লিকেশনটির জন্য নেট লগিং ।

লগিংয়ের কনফিগারেশনটি একবার হয়ে গেলে, অ্যাপ্লিকেশনটি চালান এবং ত্রুটিটি পুনরুত্পাদন করুন, তারপরে একটি লাইনের জন্য লগিং আউটপুটটি দেখুন:

System.Net Information: 0 : [9840] Connection#62912200 - Received status line: Version=1.1, StatusCode=401, StatusDescription=Unauthorized.

আমার পরিস্থিতিতে, আমি একটি নির্দিষ্ট কুকি সেট করতে ব্যর্থ হয়েছি যা সার্ভারটি প্রত্যাশা করেছিল, 401 ত্রুটি দিয়ে সার্ভারটি অনুরোধটির প্রতিক্রিয়া জানায়, যার ফলস্বরূপ "এসএসএল / টিএলএস সুরক্ষা চ্যানেল তৈরি করা যায়নি" ব্যতিক্রম ঘটে।


1
আমার টাস্ক শিডিয়ুলার প্রতিদিন চালিত করে (সপ্তাহান্তে নয়) ute আমি একই ত্রুটি পেয়েছি তবে কখনও কখনও ( 2 errors in 2 months)। আমি যখন ত্রুটিটি পেয়েছি, কয়েক মিনিট পরে আমি ম্যানুয়ালি আবার চেষ্টা করব এবং সবকিছু ঠিক আছে।
কুইকিনেট

10

The request was aborted: Could not create SSL/TLS secure channelত্রুটির আর একটি সম্ভাব্য কারণ হ'ল আপনার ক্লায়েন্টের পিসির কনফিগার করা সাইফার_সুয়েটস মান এবং সার্ভারটি কনফিগার করা মানগুলিকে ইচ্ছুক এবং গ্রহণযোগ্য হতে সক্ষম । এই ক্ষেত্রে, যখন আপনার ক্লায়েন্ট তার প্রাথমিক এসএসএল হ্যান্ডশেকিং / আলোচনার "ক্লায়েন্ট হ্যালো" বার্তায় গ্রহণ করতে সক্ষম সাইফার_সুয়েট মানগুলির তালিকা পাঠায়, সার্ভার দেখায় যে প্রদত্ত মানগুলির কোনওটি গ্রহণযোগ্য নয়, এবং "সতর্কতা" ফিরিয়ে দিতে পারে "এসএসএল হ্যান্ডশেকের" সার্ভার হ্যালো "ধাপে এগিয়ে যাওয়ার পরিবর্তে" প্রতিক্রিয়া।

এই সম্ভাবনাটি তদন্ত করতে, আপনি মাইক্রোসফ্ট মেসেজ অ্যানালাইজার ডাউনলোড করতে পারেন এবং এসএসএল আলোচনায় ট্রেস চালানোর জন্য এটি ব্যবহার করতে পারেন যা আপনি সার্ভারের সাথে (আপনার সি # অ্যাপে) এইচটিটিপিএস সংযোগ স্থাপনে ব্যর্থ হলে এবং ব্যর্থ হয়।

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

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

নিম্নলিখিত দুটি উইন্ডোজ রেজিস্ট্রি কী আপনার পিসি ব্যবহার করবে এমন সিফার_সুয়েটসের মান পরিচালনা করে:

  • HKLM \ সফটওয়্যার \ নীতিসমূহ \ মাইক্রোসফট \ ক্রিপ্টোগ্রাফি \ কনফিগারেশন \ SSL এর \ 00010002
  • HKLM \ সিস্টেম \ CurrentControlSet \ কন্ট্রোল \ ক্রিপ্টোগ্রাফি \ কনফিগারেশন \ স্থানীয় \ SSL এর \ 00010002

আমি কীভাবে এই বিভিন্ন ধরণের সমস্যার একটি উদাহরণ অনুসন্ধান করেছি এবং সমাধান করেছি তার একটি সম্পূর্ণ লেখার রেকর্ডআপ এখানে Could not create SSL/TLS secure channel: http://blog.jonschneider.com/2016/08/fix-ssl-handshaking-error-in-windows.html


1
আমার ক্ষেত্রে, এই উত্তরটি সহায়ক। এছাড়াও, যেহেতু আমার সন্দেহ হয়েছিল যে আমার ক্লায়েন্ট পিসি কিছু সাইবার স্যুট মিস করেছে, তাই আমি আমার শর্টকাট নিয়ে আমার ভাগ্যের চেষ্টা করার জন্য সরাসরি এই উইন্ডোজ আপডেটটি ইনস্টল করেছিলাম ( সমর্থন.microsoft.com/en-hk/help/3161639 , উইন্ডোজ রিবুট দরকার) সত্যিই শুরু করার আগে বার্তা বিশ্লেষক অনুসন্ধান করুন, এবং দেখা গেছে আমি ভাগ্যবান এবং এটি আমার সমস্যার সমাধান করে, নিজেকে একটি অনুসন্ধান সংরক্ষণ করে।
sken130

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

আমার সমস্যার জন্য মূল উত্তর। দুটি জিনিস যা আমাকে পরিবর্তনগুলি খুঁজতে সাহায্য করেছিল। 1. ওয়েব সার্ভার দ্বারা সমর্থিত সাইফার স্যুট: ssllabs.com/ssltest 2. বিভিন্ন উইন্ডোজ সংস্করণ সমর্থন করে এমন সাইফার স্যুট: ডকস.মাইক্রোসফট.ইন
পল বি

10

আমার ক্ষেত্রে এই ব্যতিক্রমের মূলটি ছিল কোডের এক পর্যায়ে নিম্নলিখিতগুলি বলা হয়েছিল:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;

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

আমার ক্ষেত্রে এটির প্রয়োজনীয়তা ছিল না, তাই আমি কেবলমাত্র বিবৃতিটি মুছতে পারি এবং আমার সমস্ত অন্যান্য ওয়েব অনুরোধগুলি আবার ঠিকঠাক কাজ শুরু করে। অন্য কোথাও আমার পড়ার ভিত্তিতে আমি কয়েকটি জিনিস শিখেছি:

  • এটি আপনার অ্যাপডোমেনে একটি গ্লোবাল সেটিংস এবং আপনার যদি সমবর্তী ক্রিয়াকলাপ থাকে তবে আপনি নির্ভরযোগ্যভাবে এটি একটি মানকে সেট করতে পারবেন না, আপনার ক্রিয়াটি করুন এবং তারপরে এটি আবার সেট করুন। সেই ছোট উইন্ডো চলাকালীন আর একটি ক্রিয়া ঘটে এবং প্রভাবিত হতে পারে।
  • সঠিক সেটিংসটি এটিকে ডিফল্ট রেখে যাওয়া। এটি সময় অনুসারে সর্বাধিক সুরক্ষিত ডিফল্ট মান যা ব্যবহার করে চালিয়ে যাওয়ার জন্য নেটকে অনুমতি দেয় এবং আপনি ফ্রেমওয়ার্কগুলি আপগ্রেড করেন। এটি টিএলএস 12 এ সেট করা (যা এই লেখার সবচেয়ে সুরক্ষিত) এখন কাজ করবে তবে 5 বছরে রহস্যজনক সমস্যা দেখা দিতে পারে।
  • আপনার যদি সত্যিই কোনও মান নির্ধারণ করতে হয় তবে আপনার এটি আলাদা বিশেষায়িত অ্যাপ্লিকেশন বা অ্যাপডোমেনে করা উচিত এবং এটির সাথে আপনার মূল পুলের মধ্যে কথা বলার উপায় খুঁজে পাওয়া উচিত। কারণ এটি একক বিশ্বব্যাপী মান, একটি ব্যস্ত অ্যাপ পুলের মধ্যে এটি পরিচালনা করার চেষ্টা করলে কেবল সমস্যা দেখা দিতে পারে। এই উত্তর: https://stackoverflow.com/a/26754917/7656 একটি কাস্টম প্রক্সি মাধ্যমে একটি সম্ভাব্য সমাধান সরবরাহ করে। (দ্রষ্টব্য আমি ব্যক্তিগতভাবে এটি প্রয়োগ করি নি))

2
আপনার সাধারণ থাম্বের নিয়মের বিপরীতে, আমি যুক্ত করব যে যখন আপনি এটি ডিফল্টরূপে চালিত না হয়ে TLS 1.2 এ সেট করতে হবে তখন একটি ব্যতিক্রম রয়েছে। যদি আপনি .NET 4.6 এর চেয়ে পুরানো ফ্রেমওয়ার্কে থাকেন এবং আপনি আপনার সার্ভারে নিরাপদ প্রোটোকলগুলি (এসএসএল বা টিএলএস 1.0 / 1.1) অক্ষম করেন, তবে আপনি প্রোগ্রামটি টিএলএস ১.২ এ জোর না করা পর্যন্ত আপনি অনুরোধগুলি জারি করতে পারবেন না।
পল

10

আমার এই সমস্যাটি ছিল কারণ আমার ওয়েবকনফাইগের ছিল:

<httpRuntime targetFramework="4.5.2" />

এবং না:

<httpRuntime targetFramework="4.6.1" />

আমার এই একই সমস্যা ছিল এবং নীচে আরও বিস্তৃত উত্তর যুক্ত করেছি , যা এই ইস্যুটির আরও অন্তর্গত ও আউটপুটে যায়।
জেএলআরিশ

9

আপনি বলতে পারেন যে এটি প্রচুর কারণ হতে পারে। ভেবেছিলাম যে কারণে আমার মুখোমুখি হওয়ার কারণটি আমি যুক্ত করব ...

আপনি মান সেট করেন তাহলে WebRequest.Timeoutথেকে 0, এই ব্যতিক্রম হল নিক্ষিপ্ত হয়। নীচে আমার কাছে কোডটি ছিল ... ( 0টাইমআউট মানটির জন্য হার্ড-কোডড পরিবর্তে আমার একটি প্যারামিটার ছিল যা অজান্তেই সেট করা হয়েছিল 0)।

WebRequest webRequest = WebRequest.Create(@"https://myservice/path");
webRequest.ContentType = "text/html";
webRequest.Method = "POST";
string body = "...";
byte[] bytes = Encoding.ASCII.GetBytes(body);
webRequest.ContentLength = bytes.Length;
var os = webRequest.GetRequestStream();
os.Write(bytes, 0, bytes.Length);
os.Close();
webRequest.Timeout = 0; //setting the timeout to 0 causes the request to fail
WebResponse webResponse = webRequest.GetResponse(); //Exception thrown here ...

2
কি দারুন! এটি উল্লেখ করার জন্য ধন্যবাদ। এটি প্রথম স্থানে বিশ্বাস করতে পারল না এবং প্রথমে প্রচুর পরিমাণে বিভিন্ন জিনিস চেষ্টা করেছিল। তারপরে, শেষ অবধি, 10 সেকের সময়সীমা নির্ধারণ করুন এবং ব্যতিক্রমটি অদৃশ্য হয়ে গেল! এটি আমার জন্য সমাধান। (y)
ডারফঙ্ক

9

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

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

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


9

এই সমস্যাটির বৃহত্তম কারণগুলির মধ্যে একটি হ'ল সক্রিয়। নেট ফ্রেমওয়ার্ক সংস্করণ। .NET ফ্রেমওয়ার্ক রানটাইম সংস্করণ প্রভাবিত করে যে কোনও সুরক্ষা প্রোটোকলগুলি ডিফল্টরূপে সক্ষম হয়।

এটি বিভিন্ন সংস্করণে কীভাবে বিশেষভাবে কাজ করে সে সম্পর্কে কোনও অনুমোদনমূলক ডকুমেন্টেশন বলে মনে হয় না, তবে মনে হয় ডিফল্টগুলি কমবেশি নিম্নলিখিত হিসাবে নির্ধারিত হয়েছে:

  • .NET ফ্রেমওয়ার্ক 4.5 এবং তার আগের - এসএসএল 3.0, টিএলএস 1.0
  • .NET ফ্রেমওয়ার্ক 4.6.x - টিএলএস 1.0, 1.1, 1.2, 1.3
  • .NET ফ্রেমওয়ার্ক 4.7+ - সিস্টেম (ওএস) ডিফল্ট

(পুরানো সংস্করণগুলির জন্য, আপনার মাইলেজটি কিছুটা পৃথক হতে পারে যার ভিত্তিতে .NET রানটাইম সিস্টেমে ইনস্টল করা আছে example উদাহরণস্বরূপ, এমন একটি পরিস্থিতি হতে পারে যেখানে আপনি খুব পুরানো কাঠামো ব্যবহার করছেন এবং টিএলএস 1.0 সমর্থিত নয়, বা 4.6 ব্যবহার করছেন। এক্স এবং টিএলএস 1.3 সমর্থিত নয়)

মাইক্রোসফ্টের ডকুমেন্টেশন 4.7+ এবং সিস্টেম ডিফল্ট ব্যবহারের দৃ strongly়ভাবে পরামর্শ দেয়:

আমরা আপনাকে সুপারিশ করি যে:

  • আপনার অ্যাপ্লিকেশনগুলিতে .NET ফ্রেমওয়ার্ক 4.7 বা পরবর্তী সংস্করণগুলিকে লক্ষ্য করুন। আপনার ডাব্লুসিএফ অ্যাপ্লিকেশনগুলিতে। নেট ফ্রেমওয়ার্ক 4.7.1 বা পরবর্তী সংস্করণগুলিকে লক্ষ্য করুন।
  • টিএলএস সংস্করণ নির্দিষ্ট করবেন না। ওএসকে টিএলএস সংস্করণে সিদ্ধান্ত নেওয়ার জন্য আপনার কোডটি কনফিগার করুন।
  • আপনি কোনও টিএলএস বা এসএসএল সংস্করণ উল্লেখ করছেন না তা যাচাই করার জন্য একটি পুঙ্খানুপুঙ্খ কোড অডিট করুন।

এএসপি.এনইটি সাইটগুলির জন্য আপনার <httpRuntime>উপাদানটিতে .NET ফ্রেমওয়ার্ক সংস্করণটি পরীক্ষা করুন , কারণ এটি নির্ধারণ করে যে কোন রানটাইমটি আসলে আপনার সাইটের দ্বারা ব্যবহৃত হয়:

<httpRuntime targetFramework="4.5" />

উত্তম:

<httpRuntime targetFramework="4.7" />

8

এটি এমভিসি ওয়েবক্লিয়েন্টে আমার জন্য কাজ করছে

    public string DownloadSite(string RefinedLink)
    {
        try
        {
            Uri address = new Uri(RefinedLink);

            ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;

            System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

            using (WebClient webClient = new WebClient())
            {
                var stream = webClient.OpenRead(address);
                using (StreamReader sr = new StreamReader(stream))
                {
                    var page = sr.ReadToEnd();

                    return page;
                }
            }

        }
        catch (Exception e)
        {
            log.Error("DownloadSite - error Lin = " + RefinedLink, e);
            return null;
        }
    }

2
সার্ভার সার্টিফিকেটভিডেশন ক্যালব্যাক নতুন সুরক্ষা গর্ত প্রবর্তন করতে পারে?

7

যদি ক্লায়েন্টটি উইন্ডোজ মেশিন হয় তবে একটি সম্ভাব্য কারণ হতে পারে যে পরিষেবাটির জন্য প্রয়োজনীয় টিএলএস বা এসএসএল প্রোটোকল সক্রিয় করা হয়নি।

এটি সেট করা যেতে পারে:

কন্ট্রোল প্যানেল -> নেটওয়ার্ক এবং ইন্টারনেট -> ইন্টারনেট বিকল্প -> উন্নত

"সুরক্ষা" এ নীচে সেটিংস স্ক্রোল করুন এবং এর মধ্যে চয়ন করুন

  • SSL 2.0 ব্যবহার করুন 2.0
  • SSL 3.0 ব্যবহার করুন 3.0
  • টিএলএস 1.0 ব্যবহার করুন
  • টিএলএস 1.1 ব্যবহার করুন
  • টিএলএস 1.2 ব্যবহার করুন

এখানে চিত্র বর্ণনা লিখুন


তাদের সব টিক চিহ্ন কোন সমস্যা?
নাইজেল এফডিএস 0 '50 এ

কোনও সমস্যা নেই, যতদূর আমি জানি ... এসএসএল ছাড়া আর কোনও সুপারিশ করা হয় না ... সেগুলি পর্যাপ্ত সুরক্ষিত হিসাবে বিবেচিত হয় না।
সিএনওএম

কীভাবে এটা করতে programatically PowerShell মধ্যে?
কিকিনেট

এটি এমন একটি যা উইন্ডোজের পুরানো সংস্করণগুলিকে প্রভাবিত করে, কিছু গবেষণা করুন, বর্তমানে কোন সুরক্ষা বিকল্প ব্যবহার করা হচ্ছে তা সন্ধান করুন। আজকের হিসাবে এই লিঙ্কটি দেখুন: tecadmin.net/enable-tls-on-windows-server-and-iis
টড

7

আমার ক্ষেত্রে, অ্যাপ্লিকেশনটি চালিত পরিষেবা অ্যাকাউন্টটিতে ব্যক্তিগত কীটি অ্যাক্সেসের অনুমতি নেই। আমি একবার এই অনুমতি দিলে ত্রুটিটি চলে যায়

  1. mMC
  2. সার্টিফিকেট
  3. ব্যক্তিগত প্রসারিত করুন
  4. প্রত্যয়ন নির্বাচন করুন
  5. সঠিক পছন্দ
  6. সমস্ত কাজ
  7. ব্যক্তিগত কী পরিচালনা করুন
  8. যোগ

7

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


হায় আমার জন্য না!
benedict_w

এই একমাত্র আমার ক্ষেত্রে সহায়তা করেছে! ধন্যবাদ !!!
আলেকজান্ডার অস্ট্রিকভ

6

আমি এই সমস্যা নিয়ে সারা দিন লড়াই করেছি।

যখন আমি .NET 4.5 দিয়ে একটি নতুন প্রকল্প তৈরি করেছি অবশেষে আমি এটি কাজ করতে পেরেছি।

তবে যদি আমি ৪.০ এ ডাউনগ্রেড করে ফেলেছিলাম তবে আমি আবার একই সমস্যা পেয়েছি এবং এটি সেই প্রকল্পের জন্য অপরিবর্তনীয় ছিল (এমনকি আমি আবারও ৪.৫ এ উন্নীত করার চেষ্টা করেছি)।

অন্য কোনও ত্রুটি বার্তাটি আশ্চর্যজনক না করে "অনুরোধটি বাতিল করা হয়েছিল: এসএসএল / টিএলএস সুরক্ষিত চ্যানেল তৈরি করতে পারেনি।" এই ত্রুটির জন্য এসেছিল


5
এটি কাজ করার কারণটি হতে পারে কারণ বিভিন্ন .NET সংস্করণগুলি বিভিন্ন এসএসএল / টিএলএস প্রোটোকল সংস্করণ সমর্থন করে। আরও তথ্য: ব্লগস.পার্ফিয়েন্টস
জোন স্নাইডার

4

System.Net.WebException: অনুরোধটি বাতিল করা হয়েছিল: এসএসএল / টিএলএস সুরক্ষিত চ্যানেল তৈরি করতে পারেনি।

আমাদের ক্ষেত্রে, আমরা যেখানে একটি সফ্টওয়্যার বিক্রেতা ব্যবহার করি তাই আমাদের কাছে NET কোডটি সংশোধন করার অ্যাক্সেস নেই। দৃশ্যত। নেট 4 টি পরিবর্তন না হলে TLS v 1.2 ব্যবহার করবে না।

আমাদের জন্য সমাধানটি রেজিস্ট্রিতে SchUseStrongCrypto কী যুক্ত করা হয়েছিল। আপনি নীচে কোডটি .reg বর্ধনের সাহায্যে একটি পাঠ্য ফাইলে অনুলিপি / পেস্ট করতে পারেন এবং এটি সম্পাদন করতে পারেন। এটি সমস্যার "প্যাচ" হিসাবে কাজ করেছে।

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001

3
দ্রুত সম্পাদনার জন্য এখানে পিএস: New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" -Name "SchUseStrongCrypto" -Value "1" -Type DWord
টিলো

2
দ্রুত সম্পাদনা 2 এর জন্য পিএস এখানে: New-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319" -Name "SchUseStrongCrypto" -Value "1" -Type DWord
টিলো

4

এটা চেষ্টা কর:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

আমি এই সারি যুক্ত করেছি। কখনও কখনও এটি ব্যর্থ হয় এবং আমি একই ত্রুটিটি পাইSystem.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel.
জোসেফ কাটজম্যান

4

এটি আমার জন্য স্থির, অনুমতিগুলিতে নেটওয়ার্ক পরিষেবা যুক্ত করুন। শংসাপত্রে> সমস্ত কার্য> ব্যক্তিগত কীগুলি পরিচালনা করুন ...> যুক্ত করুন ...> "নেটওয়ার্ক পরিষেবা" যুক্ত করুন এ ডান ক্লিক করুন।


3

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

শংসাপত্রের স্টোরের শংসাপত্রে একটি প্রাইভেট কীতে কীভাবে এএসপি.নেটকে অ্যাক্সেস দেওয়া যায়?


হ্যাঁ, ভাল এটি ঠিক করার জন্য, নিক গটচের উত্তর যা বলেছিল তা আমি করেছি: অ্যাপ পুলের পরিচয়টি লোকালসিস্টেমে পরিবর্তন করে। এটি আমার জন্য এটি সমাধান করেছে।
এহুদা গ্যাব্রিয়েল হিমাঙ্গো

1
এর জন্য ধন্যবাদ
ডেনিস পিচার

3

আমি এই একই সমস্যাটি পেয়েছিলাম এবং এই উত্তরটি আমার পক্ষে সঠিকভাবে কাজ করেছে। কীটি 3072 This এই লিঙ্কটি '3072' ঠিক করার বিশদ সরবরাহ করে।

ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;

XmlReader r = XmlReader.Create(url);
SyndicationFeed albums = SyndicationFeed.Load(r);

আমার ক্ষেত্রে দুটি ফিডের জন্য ঠিক করা দরকার:

https://www.fbi.gov/feeds/fbi-in-the-news/atom.xml
https://www.wired.com/feed/category/gear/latest/rss

3

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

https://support.microsoft.com/en-us/help/4458166/applications-that-rely-on-tls-1-2-strong-encryption-experience-connect

মূলত, এমএস অনুমান করে আপনি দুর্বল এনক্রিপশন চান, তবে ওএস কেবল টিএলএস ১.২ অনুমতি দেওয়ার জন্য প্যাচ করা হয়েছে, তাই আপনি ভীতু হন "অনুরোধটি বাতিল করা হয়েছিল: এসএসএল / টিএলএস সুরক্ষিত চ্যানেল তৈরি করতে পারেনি।"

তিনটি স্থির করা আছে।

1) যথাযথ আপডেটের সাথে ওএসকে প্যাচ করুন: http://www.catolog.update.microsoft.com/Search.aspx?q=kb4458166

2) আপনার app.config / web.config ফাইলটিতে একটি সেটিংস যুক্ত করুন।

3) ইতিমধ্যে অন্য উত্তরে উল্লিখিত একটি রেজিস্ট্রি সেটিং যুক্ত করুন।

এই সমস্তগুলি আমি পোস্ট করা জ্ঞান বেস নিবন্ধে উল্লেখ করা হয়েছে।


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

3

আরেকটি সম্ভাবনা হ'ল কোডটি কার্যকর করা হচ্ছে যাতে প্রয়োজনীয় প্রিমেশন থাকে না।

আমার ক্ষেত্রে, ভিজুয়াল স্টুডিও ডিবাগারটি ওয়েব পরিষেবায় একটি কল পরীক্ষা করতে ব্যবহার করার সময় আমি এই ত্রুটিটি পেয়েছি। প্রশাসক হিসাবে ভিজ্যুয়াল স্টুডিও চলছিল না, যা এই ব্যতিক্রম ঘটায়।


2

এটি কেবল একটি সাইটে আমার জন্য ঘটছিল, এবং দেখা যাচ্ছে যে এটিতে কেবল আরসি 4 সিফার উপলব্ধ ছিল। সার্ভারটিকে শক্ত করার জন্য পূর্বের প্রয়াসে, আমি আরসি 4 সাইফারটি অক্ষম করে দিয়েছিলাম, একবার আমি এটি সক্ষম করে একবার সমস্যাটি সমাধান হয়ে গেছে।


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