আমি নিম্নলিখিত সমস্যার মুখোমুখি হয়েছি।
আমি নিম্নলিখিত কোড চালাচ্ছি
var binaryData = File.ReadAllBytes(pathToPfxFile);
var cert = new X509Certificate2(binaryData, password);
দুটি প্রক্রিয়াতে। প্রক্রিয়াগুলির মধ্যে একটি এর অধীনে চলে LOCAL_SYSTEM
এবং সেখানে এই কোডটি সফল হয়। "ব্যবহারকারী" স্থানীয় গোষ্ঠীভুক্ত স্থানীয় ব্যবহারকারী অ্যাকাউন্টের অধীনে আইআইএসের অভ্যন্তরে অন্য একটি চালিত হয় এবং সেখানে আমি নিম্নলিখিত ব্যতিক্রম পাই:
System.Security.Cryptography.CryptographicException
Object was not found.
at System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr)
at System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromBlob(Byte[] rawData, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx)
at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromBlob(Byte[] rawData, Object password, X509KeyStorageFlags keyStorageFlags)
at System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(Byte[] rawData, String password)
//my code here
তাই আমি কিছুটা গুগল করেছিলাম এবং এক ধরণের অনুরূপ প্রশ্নের উত্তর পেয়েছি । আমি LoadUserProfile
অ্যাপ্লিকেশন পুলটির জন্য সক্ষম করার চেষ্টা করেছি এবং এটি এখন কাজ করে।
সমস্যাটি হ'ল আমি সেট করার সময় ঠিক কী ঘটে LoadUserProfile
এবং এর পরিণতিগুলি কী হতে পারে তা পাই না । মানে যদি এটি "ভাল" জিনিস হয় তবে এটি কেন ডিফল্টরূপে "চালু" হয় না এবং কেন এটি সব পরে?
আমি LoadUserProfile
আইআইএস পুলে সেট করলে ঠিক কী ঘটে এবং এর কোন নেতিবাচক পরিণতি ঘটতে পারে?
new X509Certificate2(keyFilePath, keyFilePassword, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.EphemeralKeySet)
এমন স্টোরের ব্যক্তিগত কী লিখতে এড়াতে এবং সার্ভারে প্রশাসনিক সুযোগ সুবিধাগুলি প্রয়োজন না ব্যবহার করতে চাইবেন ।
new X509Certificate2(binaryData, password, X509KeyStorageFlags.MachineKeySet)
যাতে কোনও ব্যবহারকারী প্রোফাইলের প্রয়োজন হয় না।