Makale numarası: 901183 - Son Gözden Geçirme: 13 Aralık 2007 Perşembe - Gözden geçirme: 3.2 Bir ASP.NET Web uygulaması kimlik doğrulaması için bir istemci sertifikası kullanılarak bir Web hizmetine nasıl
Bu SayfadaÖzetBu makalede, bir istemci sertifikası kimlik doğrulaması için bir Web hizmetine bir ASP.NET Web uygulaması geçirilecek nasıl anlatılmaktadır. NotHttpWebRequest sınıfı, bir hizmetin. Çağır değil,'ı kullanarak doğrudan bir HTTP isteğindeki yaptığınızda bu makaledeki adımları için de geçerli GirişGenellikle, Web Hizmetleri, Web Hizmetleri çağıran uygulamalar doğrulaması gerekir. Web Hizmetleri, Web Hizmetleri authorizations yapmadan önce uygulamalar'ı çağırmak, kimlik doğrulamalarının gerçekleştirmelisiniz. Bir kimlik doğrulama yöntemi, bir istemci sertifikası sunmak için Web hizmetini çağırmak uygulamalar sağlamaktır. Sertifika kimlik doğrulaması kullanan bir Web hizmetini çağırmak bir ASP.NET Web uygulaması çalıştığında, "erişim engellendi" hata iletisi alabilirsiniz. Bir konsol uygulaması veya bir Microsoft Windows Forms uygulaması aynı Web hizmeti çağrıları, bir hata iletisi almazsınız. Bu davranış, bilgisayar iki farklı sertifika depoları tutar oluşur:
Daha fazla bilgiBir ASP.NET Web uygulaması, bir istemci sertifikası kullanmak üzere etkinleştirmek için <a0></a0>, yerel makine deposunda istemci sertifikası yüklemeniz gerekir. Yerel makine deposunda bir istemci sertifikası yüklediğinizde, istemci sertifikası yalnızca Administrators grubundaki kullanıcı hesaplarının ve istemci sertifikası yükleyen kullanıcı için kullanılabilir. Bu nedenle, istemci sertifikası, ASP.NET Web uygulamasını çalıştırmak için kullanılan kullanıcı hesabı için erişim vermeniz gerekir. Not Istemci sertifikalarını yerel makine deposunda kullanmak için Microsoft .NET Framework 1.1 Service Pack 1 (SP1) olması gerekir. Ayrıca, ASP.NET Web uygulaması, Web hizmetinin aradığında, uygulamanın istemci sertifikası sertifika deposundan verin ve sonra istemci sertifikası Web hizmeti çağrısı eklemeniz gerekir. Istemci sertifikasını yükleyin ve kullanıcı hesabı için erişim vermeIstemci sertifikası yüklemek için ve ASP.NET Web uygulamasını çalıştırmak için kullanılan kullanıcı hesabının, istemci sertifikası için erişim vermek için aşağıdaki adımları izleyin.1. Adım: yerel makine deposunda istemci sertifikası yüklemeBir PKCS # 12 (.pfx) dosyası bir istemci sertifikası varsa, Microsoft Windows HTTP Hizmetleri sertifika Configuration Tool'u kullanabilir (WinHttpCertCfg.exe) istemci sertifikasını yüklemek için) ve Network Service hesabı gibi ek kullanıcı hesaplarına istemci sertifikası erişim vermek için. Bunu yapmak için şu adımları izleyin:
2. Adım: istemci sertifikasına erişimi yapılandırmaBu adımda, ASP.NET hesabın yerel makine deposunda saklanır istemcisiyle erişim izni vermelisiniz. Windows Server 2003'te Web uygulamalarını çalıştırmak için varsayılan hesap Network Service hesabıdır. Bu nedenle, sertifika ağ hizmeti hesabı için erişim vermeniz gerekir. ASP.NET çalıştırmak için özel bir hesabı yapılandırdıysanız, özel hesabı için erişim vermeniz gerekir.Not ' De Microsoft ınternet ınformation Server (IIS) 5.0, the ASPNET altında ASP.NET çalıştırır, hesap ve altında değil ağ hizmeti hesabı. Bu nedenle, IIS 5.0 çalışan bir bilgisayarda ASPNET hesabının izinlerini vermek için gerekir. Belirli bir kullanıcı hesabı için erişim vermek için <a0></a0>, komut isteminde aşağıdaki komutu çalıştırın: WinHttpCertCfg.exe -g-c LOCAL_MACHINE\MY -s "IssuedToName" - bir "AccountName" NotAccountName yerel bilgisayar hesabı veya bir etki alanı hesabının adıdır. IssuedToName şirket veya istemci sertifikası verilmiş bir etki alanı adıdır. Bu komut büyük/küçük harf duyarlı bir arama dizesi içerir. Arama dizesi, konu adı dizesini içeren ilk numaralandırılmış sertifika bulur.Aşağıdaki komut satırı komutu, ağ hizmeti hesabının Microsoft ınternet ınformation Services (IIS) 6.0 istemci sertifikasına erişimi vermek nasıl bir örnektir: WinHttpCertCfg.exe -g-c LOCAL_MACHINE\MY -s "IssuedToName" - bir "NetworkService" Aşağıdaki komut satırı komutu, istemci sertifikası IIS 5.0 ASPNET hesabı için erişim vermek nasıl bir örnektir:WinHttpCertCfg.exe -g-c LOCAL_MACHINE\MY -s "IssuedToName" - bir "ASPNET" Not Windows HTTP Hizmetleri ve sertifika Yapılandırma Aracı'nı kullandığınızda, istemci sertifikası ve tek bir adımda istemci sertifikasının erişimini yapılandırma işlemi alma işleminde birleştirebilirsiniz. Örneğin, aşağıdaki komut satırı komutu, her iki işlemleri gerçekleştirir:Winhttpcertcfg.exe PFXFile -i - c LOCAL_MACHINE\My - a “ AccountName ” 3. Adım: istemci sertifikası için yerel makinenin deposunu yerel kullanıcı depodan KopyalaEtkileşimli bir uygulama Windows Forms uygulaması veya bir komut satırı uygulaması gibi bir istemci sertifikası erişebiliyorsanız, istemci sertifikası, önceden yerel kullanıcı deposunda saklanır. Bir ASP.NET Web uygulaması gibi bir hizmetin uygulama aynı istemci sertifikası erişemiyorsanız, ancak, istemci sertifikası yerel makine deposunda depolanabilir değil.Bu adımı, bir istemci sertifikası, Sertifika Verme Sihirbazı'nı kullanarak yerel makine deposu için yerel kullanıcı deposunda kopyalama açıklar. Not Istemci sertifikası yerel makine deposunda değilse veya doğrudan yerel makinenin deposunu adım 1'deki gibi istemci sertifikasının yükleyebilirseniz, adım 4'e gidin. Adım 3 kullanırsanız, ancak, sonra Adım 2'in istemci sertifikasına erişimi vermek için döndürmelidir. Istemci sertifikası için yerel makinenin deposunu kopyalamak için aşağıdaki adımları izleyin:
Adım 4: CA kök sertifikasını yükleIstemci sertifikası VeriSign gibi bir dış CA'dan zaten imzalanmışsa veya kök CA'sı için zaten yüklediyseniz, adım 4 atlayabilirsiniz.Varsayılan olarak, birçok dış CA'lara güvenilen kök sertifika deposunda önceden zaten yüklenmiş kök sertifikalarının Windows var. Kök sertifikası'nın yüklü olduğunu doğrulayın.CA kök sertifikası'nın yüklü olduğunu doğrulamak için <a0></a0>, aşağıdaki adımları izleyin:
Kök sertifikası yüklemeKullanmak istediğiniz CA kök sertifikasını listeleniyorsa, kök sertifikasını da yüklemeniz gerekir. Kullanmak istediğiniz CA kök sertifikasını, .cer uzantılı bir dosya, .der dosya veya bir .pfx dosyası gibi bir sertifika dosyasında verilmiş olan, aşağıdaki adımları izleyin:
Kök sertifika istemeMicrosoft Sertifika Hizmetleri'ni yükleme veritabanında kullanmak istediğiniz CA'yı içeriyorsa, kök sertifika isteyebilirler. Bunu yapmak için şu adımları izleyin:
Web hizmetini çağırmakIstemci sertifikasının yerel makinenin deposunu veya yerel kullanıcı deposunda yükledikten sonra Web hizmetini çağırmak için ASP.NET Web uygulamasını istemci sertifikası erişebilirsiniz. Istemci sertifikası erişmek için gereken adımları gösterilenlerle aynı Windows Forms uygulaması veya bir ASP.NET Web uygulaması..NET Framework 1. 1'i kullanıyorsanız, ilk anahtar DER ile kodlanmış bir dosyaya vermelisiniz. System.Security.Cryptography.X509Certificates.X509Certificate sınıfı, bir sertifikanın ayrıntılarını, sertifika deposundan doğrudan erişmek için kullanılan yöntem içermediğinden anahtarı vermeniz gerekir. Bu nedenle, uygulama DER ile kodlanmış bir dosyadan bir sertifikanın ayrıntılarını okumalısınız. Not Web Services Enhancements 2.0, Microsoft .NET (WSE) için bir sertifika deposuna sertifika ayrıntıları almak bir uygulama için bir yol sağlar. Aşağıdaki C# örnek kodu, bir istemci sertifikası kimlik doğrulaması için geçirerek Web hizmetini çağırmak gösterilmiştir. Microsoft .NET için Web Services Enhancements 2.0Microsoft .NET sınıf kitaplığı, en son Web hizmetlerini iletişim kuralları'nı kullanarak Web hizmetleri oluşturmak için Web Services Enhancements 2.0 için Microsoft .NET (WSE) olur. Bu iletişim kuralları şunlardır:
http://www.microsoft.com/downloads/details.aspx?FamilyId=FC5F06C5-821F-41D3-A4FE-6C7B56423841
(http://www.microsoft.com/downloads/details.aspx?FamilyId=FC5F06C5-821F-41D3-A4FE-6C7B56423841)
Bir Web'e erişmek için bu protokollerden birini kullanmak zorunda istemci sertifikası kimlik doğrulaması gerektiren bir hizmet. Ancak, Microsoft.Web.Services2.Security.X509 sınıfı kullanmak isteyebilirsiniz. Microsoft.Web.Services2.Security.X509 sınıfı, bir istemci sertifikası sertifika deposunda'na doğrudan erişmek için yöntemler içerir. Bu yöntemi kullanırsanız, sertifika verme gerekmez.Aşağıdaki C# örnek kod, yerel makine deposunda SecureMathClient adlı ilk sertifikayı nasıl gösterir. Sonra bu kod örneği, Web hizmeti matematik <a1>Ekle</a1> yöntemini çağırmak için sertifikayı kullanır. Matematik Web hizmeti, istemci sertifikası gerektirir. ReferanslarSystem.Security.Cryptography.X509Certificates.X509Certificate sınıfı hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin: http://msdn2.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate(vs.71).aspx
(http://msdn2.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate(vs.71).aspx)
Bir ASP.NET Web uygulaması kullanarak güvenliği artırılmış Web sitesi nasıl hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın: 817854
(http://support.microsoft.com/kb/817854/
)
Düzeltme: ASP.NET Web uygulaması güvenliği artırılmış Web sitesine bir istemci sertifikası teslim edemiyor Bu makaledeki bilginin uygulandığı durum:
Otomatik TercümeÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir. Makalenin İngilizcesi aşağıdaki gibidir:901183
(http://support.microsoft.com/kb/901183/en-us/
)
| Diğer Kaynaklar Diğer Destek Siteleri
ToplulukHemen Yardım AlMakale çevirileri |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Üste