Share via


ssl tarafından kullanım için sertifika yapılandırma

Yerel xml Web Hizmetleri önerilmiyor.Bu özellik Microsoft SQL Server'ın ilerideki bir sürümünde kaldırılacaktır. Yeni geliştirme işlerinde bu özelliği kullanmaktan kaçının ve bu özelliği kullanmakta olan uygulamalarda değişiklik yapmayı planlayın.

Güvenli Yuva Katmanı (ssl) iletişimi için bir http sunucusu, her bir yuva (IP adresi/bağlantı noktası birleşimi) ssl ile kullanılmak üzere etkinleştirilmesi için kayıtlı bir sertifika olmalıdır.Sunucu kimlik doğrulaması için sertifikalar yetkilendirilmesi gerekir.Ya da ssl sertifika yetkilisinden bir sertifika veren, Verisign veya vermek ve kendinizi bir sertifika oluşturmak için araçlarını kullanarak sınama IF gibi elde ederek bunu yapabilirsiniz.

Olup sertifika elde self-issued veya ne olursa olsun, server ile kayıtlı olması gerekir.Kayıt, sorgu ve ssl sertifikaları silmek için http yapılandırma yardımcı programı (HttpCfg.exe) kullanmanızı öneririz.

ssl sertifikaları kaydettirme

sertifika kaydetmek için aşağıdaki komutu kullanın:

httpcfg set ssl /iIP:Port**/hHash/g**Guid

Bağımsız değişkenler

  • IP:Port
    Sertifika kaydetme IP adresi ve bağlantı noktası bileşimi.

  • Hash
    Sertifika karma.

    Not

    Sertifika deposundan sertifika karması edinilebilir.Bu Sertifikalar ek bileşeninden veya komut satırı araç gibi kullanarak görüntülenebilir CertUtil.

  • Guid
    Sertifika kaydetme varlık tanıtan GUID dize.En iyi yöntem, her örnek için bir GUID oluşturmak SQL Server ve tarafından yapılan tüm sertifika kayıtları için aynı GUIDbu örnek.

Bir ssl kaydediliyor sertifika için bir IP:Port dinleme, üzerinde tüm uygulamaları etkiler IP:Port.Örneğin, her iki örnek , SQL Server ve IIS gibi başka bir uygulama aynı dinleme IP:Port (10.0.0.1:80), örnek , SQL Server , kaydediliyor ssl sertifikası için IIS; 10.0.0.1:80 etkileyecek ve IIS ve örnek , SQL Server paylaşmak kullanımı vardıraynı ortak sertifika. Çekirdek modu http sürücüsü (Http.sys) kısıtlamasıdır.Http.sys aldığında bir istek üzerinde IP:Port 10.0.0.1:80, istek şifreli olduğu için bunu yapamazsınız incelemek url isteği ait olup olmadığını belirlemek için SQL Server veya IIS.HTTPS.sys için yalnızca yol onu şifresi sonra isteği.Bu nedenle, farklı bir ssl kullanamazsınız sertifika aynı dinleme farklı uygulamalar için IP:Port.

If SQL Server is running on Windows Vista (or an equivalent Windows Server edition), you might have to specifically register the certificate for local IP address (IPv4: 127.0.0.1 veya IPv6: [:: 1]), "locahost" sağlamak için bilgisayarın dış IP adresini yanı ssl üzerinden bağlantı.Belirtilmemiş adres alternatif olarak belirtin (IPv4: 0.0.0.0 veya IPv6: [::]) ssl Sertifika kaydedilirken.Ayrıca, Windows Vista httpcfg.exe aracı kullanmak yerine ssl Sertifika kayıtları yönetimine yardımcı olmak için yerleşik bir araç sunar; Yeni komut aşağıdaki gibidir:

netsh http add sslcert ipport=IP:Port certhash=Hash appid=Guid

Örneğin:

netsh http add sslcert ipport=[::]:443 certhash=<hash> appid=<guid>Examples

Aşağıdaki örnek, bir sertifika kaydeder:

httpcfg set ssl /i 10.0.0.1:80 /h 2c8bfddf59a4a51a2a5b6186c22473108295624d 
/g "{2bb50d9c-7f6a-4d6f-873d-5aee7fb43290}"

Sertifikalar sorgulama

Tüm kayıtlı sertifikaları görüntülemek için aşağıdaki komutu kullanın:

Httpcfg sorgu ssl

Tek sertifika görüntülemek için /i seçeneği:

httpcfg query ssl /iIP:Port

Bağımsız değişkenler

  • IP:Port
    Sertifika sorguladığınız IP adresi ve bağlantı noktası bileşimi.

Örnek

httpcfg query ssl 
httpcfg query ssl /I 10.0.0.1:80

ssl sertifikaları silme

Sertifika silmek için /i seçeneğini aşağıdaki gibi:

httpcfg delete ssl /iIP:Port

Bağımsız değişkenler

  • IP:Port
    Sertifika silme IP adresi ve bağlantı noktası bileşimi.

Örnek

httpcfg delete ssl /i 10.0.0.1:80

Sertifikaları alma

Gerekli olan sertifika edinebilir SQL Server gibi bir sertifika yetkilisinden Internet tabanlı istemcilerle ssl iletişim. Verisign

Ancak, sınama amacıyla, bir sınama oluşturabileceğiniz sertifika MakeCert.exe adlı araç kullanarak.MakeCert.exe bir parçası olan .NET Framework sdk.MakeCert.ext da Platform SDK'da bulunmaktadır.SDK karşıdan yüklemek için şu adrese gidin Microsoft.net Framework Geliştirici Merkezi ve Microsoft Yükleme Merkezi'nden, sırasıyla.MakeCert.exe oluşturur bir x.509 sertifika.Bu, dijital imzalar için ortak ve özel anahtar çifti oluşturur ve içinde bir sertifika dosyasında depolar.Bu araç ayrıca anahtar çifti belirtilen yayımcı ile ilişkilendirir ve bir x.509 oluşturur sertifika , kullanıcı tanımlı bir ad için ortak anahtar çiftini parçası bağlar.

Bir ssl oluşturmak için sertifika bir ana bilgisayar adı (MySQLServer) yanıt veren bir sunucu için yürütmek MakeCert aşağıdaki seçenekleri kullanarak:

makecert -r -pe -nCN="MySQLServer**"-eku** 1.3.6.1.5.5.7.3.1 -ss my -srlocalmachine

-skyexchange-sp"Microsoft RSA SChannel Cryptographic Provider"-sy12

Komut satırı anahtarları

  • -r
    Otomatik olarak imzalanan bir sertifika oluşturur.Otomatik olarak imzalanan bir sertifika bir sertifika yetkilisi tarafından imzalanmış bir sertifikadır.Bir sertifika yetkilisi tarafından imzalı olduğu için onu kullanılabilir şifreleme ssl gerekli ancak sunucu kimlik doğrulaması için kullanılamaz.

  • -n
    Belirtir sunucu adı.Bu ad x.500 standardına uymanız gerekir.Çift tırnak işareti koyarak, adı belirtmek için en basit yöntem olan cn =.

  • -eku
    Virgülle ayrılmış, gelişmiş anahtar kullanımı nesne tanımlayıcıları (OID) listesi sertifika belirtir.İçin SQL Server, bir ssl sertifika , geçerli olan OID 1.3.6.1.5.5.7.3.1 (szOID_PKIX_KP_SERVER_AUTH), sunucu kimlik doğrulaması için.

  • -ss
    Oluşturulan sertifika kaydedildiği sertifika deposunu belirtir.Bu konuda kaydetme öneririz Benim herhangi bir sertifika deposunda kaydedilebilir, ancak depolar.

  • -sr
    Sertifikanın bulunduğu sertifika deposunu belirtir.Konum şunlardan biri olabilir: CurrentUser (varsayılan) veya da.Bu sertifika hizmet için oluşturduğunuz için yerel bilgisayarda yerleştirilmelidir.

  • -Gök
    Sertifika anahtar türünü belirtir.Bu olmalıdır imza, exchange, veya 4 gibi bir tamsayı.rsa ortak anahtar değişimi algoritması için exchange burada gereklidir.Bu anahtar şifrelemek ve oturum anahtarlarının şifresini çözmek için kullanılan türüdür.

  • -sp
    CryptoAPI belirtir sağlayıcı adı.Oluşturduğunuz sertifikalar için SQL Server, bu küme için Microsoft rsa SChannel Şifreleme Sağlayıcısı.

  • -sy
    CryptoAPI sağlayıcı türünü belirtir.Ne zaman sağlayıcı olan Microsoft rsa SChannel Şifreleme sağlayıcı, bu 12.

Ek komut satırı anahtarları

  • -b
    Tarih değeri için geçerlilik süresini başlangıcını belirten aa/gg/yyyy biçiminde sertifika.Bu sertifika oluşturulma tarih varsayılandır.

  • -e
    Tarih değeri sonuna kadar geçerlilik süresini belirten aa/gg/yyyy biçiminde sertifika.Aksi takdirde Aksi küme, bunun 31/12/2039 23 gmt varsayılandır.

Örnekler

Aşağıdaki örnekler kullanarak sertifika oluşturma MakeCert ile ek seçenekleri.

makecert -r -pe -n "CN= MySQLServerName" -b 01/01/2000 -e 01/01/2036 
    -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange 
    -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12

Sertifika oluşturduktan sonra karma MMC'den sertifikanın veya gibi bir araç kullanarak edinebilirsiniz CertUtil.Kullanarak CertUtil, yeni oluşturulan sertifika listeleyebilirsiniz.

C:\>certutil -store "my" "MySQLServerName"

================ Certificate 2 ================
Serial Number: e302d3a7a831c9884c0dd736f24825e6
Issuer: CN=MySQLServerName
Subject: CN=MySQLServerName
Signature matches Public Key
Root Certificate: Subject matches Issuer
Cert Hash(sha1): d2 2f 9a 7f 18 cb ed 13 a1 3e be e5 32 69 6c 4b ad ba b9 30
  Key Container = 956cbc46-f005-4aeb-b521-7c313f2ccd10
  Provider = Microsoft RSA SChannel Cryptographic Provider
Encryption test passed
CertUtil: -store command completed successfully.

Karma alınan sonuçlar çalıştırarak CertUtil otomatik olarak imzalanan sertifika kaydetmek için Httpcfg.exe araç geçirilebilir.

Kullanmadan önce MakeCert kendinden imzalı ssl oluşturmak için sertifika ve onu Http.sys ile kayıt, bilgisayarda IIS yüklü olup olmadığını denetleyin.IIS, ssl sertifikaları kaydettirme kolaylaştırır bir sihirbaz sağlar.Bu nedenle, IIS ssl bilgisayarda zaten yüklüyse, sertifika zaten Http.sys ile kaydedilmemiş olabilir.Yoksa, oluşturmak ve sertifika kaydetmek için IIS Sihirbazı'nı kullanabilirsiniz.

ssl sertifikaları bir bilgisayar çapında etkiye sahip, IIS tarafından kullanılmak üzere sertifika kaydetmek için kullanıldığını önemli değildir, çünkü SQL Server.

Dikkate Alınacak Noktalar

  • Ne zaman kaldırma bir örnek , SQL Server, el ile silinene kadar Httpcfg.exe kullanılarak oluşturulmuş herhangi bir ssl sertifikası bağlamalarını kalacak.sql Server Kurulum kullanarak bu ayarları oluşturulan çünkü olarak kaldırılmazlar.Bu nedenle, bir örnek , SQL Server olan kaldırılmış, bu tür bağları da kaldırılmalıdır.

  • ssl üzerinden http kullanarak rağmen SQL Server IIS, IIS örnek yanında yüklendikten sonra gerekir SQL Server, http ssl hizmet haline bağlı IIS kullanım.Örneğin, ne zaman, stop, IIS gibi kullanarak net stop iisadmin komut istemi isteminde, IIS http ssl de başlıyor hizmet.Ayrıca, IIS altında Windows yüklendikten sonra IIS (Inetinfo.exe) başlatmadan http ssl hizmet başlatılamıyor.