مشكلة في الشهادة الموقعة ذاتيًا في WCF - يجب أن يكون لديك مفتاح خاص

StackOverflow https://stackoverflow.com/questions/344590

سؤال

أقوم بإنشاء خدمة WCF مستضافة ضمن IIS7 على نظام التشغيل Windows Vista SP1.اتلقى الخطأ التالي:

يجب أن تحتوي الشهادة 'CN=SignedByLocalHost' على مفتاح خاص قادر على تبادل المفاتيح.يجب أن تتمتع العملية بحقوق الوصول للمفتاح الخاص.

يبدو أنني سأحتاج إلى تقييم العملية المضيفة للشهادة التي تم إجراؤها في الماضي باستخدام winhttpcertcfg والتي تم إهمالها لنظام التشغيل Vista.تشير المقالة التي وجدتها إلى استخدام وحدة تحكم الشهادات، ولكنني أفتقد شيئًا ما لأنني لا أرى أي إمكانية لتحرير شهادتي.

أي مساعدة ستكون عظيمة!

شكرًا

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

المحلول

يمكنك استخدام IIS 7.0/7.5 فقط start-> تشغيل -> inetmgr حدد الخادم ضمن لوحة "الأمان" ، انتقل إلى "شهادات الخادم" في نقرة الجزء الأيسر -"إنشاء شهادة موقعة ذاتيًا" وأكمل العملية مثبت في الجهاز المحلي موقع المتجر تحت شخصي اسم المتجر.استخدم الآن هذه الشهادة في خدمة WCF الخاصة بك ولن تواجه هذا الخطأ

نصائح أخرى

وترد عليها.

وعلى افتراض لديك سيرت موقعة ذاتيا في ج: سوف \ OutCert الأمر التالي يعمل. كنت قد توقفت تبادل -sky.

وmakecert -sk SignedByCA -iv ج: \ OutCert.pvk -n "CN = MyLocalHost" -ic ج: \ OutCert.cer -sr LocalMachine -SS بلدي بي الصرف -sky

والآن يمكنك الذهاب إلى أداة MMC وإدارة المفاتيح الخاصة ومنح حق الوصول إلى مفتاح IIS. لإدارة المفاتيح الخاصة، انقر بزر الماوس الأيمن على الشهادة وحدد All Tasks / Manage Private Keys.

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