سؤال

لدي خدمة ويب محمية تتطلب استهلاك تطبيق طرف ثالث لتمرير شهادة عميل.يجب تثبيت الشهادة على توفير خدمة الإنترنت في الإنتاج على العميل أيضا.هذه العملية تعمل حاليا بخير لعملاء آخرين مع الإعداد مماثل.الإصدار الحالي هو مكتوب في .NET framework 3.5 ويعمل تماما على الجهاز التطوير تحت كاسيني (و تشغيل مستقل) ، ولكن يرفض العمل على إنتاج آلة مع نفس رمز الشهادة الإعداد.لقد أكد أن مزود خدمة الإنترنت يقبل الشهادة المثبتة على العميل من خلال المتصفح ، ولكن عندما سيرت إضافة إلى خدمة ويب الاتصال برمجيا, أحصل على 403, تم رفض الوصول.أنا انتاج بصمة الشهادة إضافة إلى المكالمة قبل أن يجعل الطلب إلى حماية ويب و هو في الواقع الصحيح الشهادة المرفقة.أنا أعتقد أنه في مكان ما على طول الخط ، فإنه لا يكون الوصول إلى المفتاح الخاص جزء من الشهادة.

أي أفكار ؟

ملاحظة:لقد أعطيت عملية IIS الوصول إلى صلة ~/التشفير الدلائل.

هذا هو C#.NET framework 3.5

هل كانت مفيدة؟

المحلول

وكان هذا النوع من المشاكل بضعة أسابيع. وكان الحل في حالتي لاستخدام التمثيل من أجل الوصول المناسب إلى مخزن الشهادات. افتراضيا، ترابط IIS تم تشغيل كمستخدم النظام، وعلى هذا النحو لم يكن الوصول إلى المتجر المناسب. إضافة شهادة إلى مخزن مستخدم معين، وانتحال المستخدم حل جميع القضايا.

وسأواصل لمشاهدة هذا السؤال، رغم ذلك، وأنا أدرك أن التمثيل ليس الإصلاح سحري، وأنه سيكون هناك القضايا الناشئة عن ذلك في هذا السيناريو.

نصائح أخرى

هناك متميزة السبب أنه لم يعمل على الجهاز الخاص بي.عند تشغيل داخل Visual Studio, أنه يعمل مع أوراقي التي كانت تستخدم لتثبيت الشهادة.وبالتالي تلقائيا لديه الإذن للوصول إلى المفتاح الخاص مخزن على الجهاز. ومع ذلك عند تشغيل خارج كاسيني (في IDE), عملية IIS لم يكن لديك أذونات إلى الوصول إلى المفتاح الخاص مخزن.

حل مؤقت:تشغيل التطبيق-المجال مثل النظام المحلي.سيئة الأمن ، ولكنه يحصل على تطبيق وتشغيل (وإن كانت الفرقة بمساعدة) حتى أستطيع العمل بها حل دائم.

هل يمكن أن مجرد صفعة هذا الملصق على البرنامج ويطلق عليه اليوم:

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top