Aracılığıyla paylaş


SSL kullanmak için sertifika yapılandırma

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

HTTP sunucusu, Güvenli Yuva Katmanı (SSL) iletişimi için her bir yuva (IP adresi/bağlantı noktası birleşimi) ile SSL kullanmak için etkinleştirme için kayıtlı bir sertifika olmalıdır.Sunucu kimlik doğrulaması için sertifikalar yetkilendirilmesi gerekir.Ya da bir SSL sertifikası yetkilisinden bir sertifika verilirken, VeriSign veya sorun ve bir sertifika, kendi oluşturduğunuz araçlarını kullanarak, sınama amacıyla, if alma ile bunu yapabilirsiniz.

Mı yoksa bir sertifika elde self-issued veya bağımsız olarak, sunucu ile kayıtlı olmalıdır.SSL sertifikaları silmek için sorgu, kayıt HTTP yapılandırma yardımcı programı'nı (HttpCfg.exe) kullanmanızı öneririz.

SSL sertifikalarını kaydetme

Bir sertifikaya kaydolmak 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 Karması.

    Not

    Sertifika deposundan sertifika karma elde edilebilir.Bu Sertifikalar ek bileşenini veya gibi bir komut satırı araç kullanılarak görüntülenebilir CertUtil.

  • Guid
    GUID, sertifika kaydı varlık'ı tanımlayan dize.En iyi yöntem olarak, her örnek için bir GUID oluşturun... SQL Server ve bu örnek tarafından yapılan tüm sertifika kayıtlar için aynı GUıD'ni kullanın.

Sertifika için bir SSL kaydediliyor bir IP:Port , üzerinde dinleme tüm uygulamaları etkiler.IP:Port. Örneğin, iki, örnek SQL Server ve başka bir uygulama, IIS gibi dinleme aynı IP:Port (10.0.0.1:80) örnek SQL Server IIS; ve IIS örneğinin 10.0.0.1:80 etkileyen için bir SSL sertifikası kaydediyor SQL Server aynı ortak sertifika kullanımını paylaşmak zorunda kalırsınız. Bu, çekirdek modu HTTP sürücüsü (HTTP.sys) bir kısıtlamasıdır.HTTP.sys isteği üzerinde aldığında IP:Port istek şifreli olduğu için 10.0.0.1:80, bu istek, için olup olmadığını ait belirlemek için URL'YI inceleyin edemiyorSQL Server veya IIS. Sonra onu şifresi Https.sys, yalnızca istek yönlendirebilir.Bu nedenle, farklı bir SSL kullanamazsınız sertifika farklı uygulamalar aynı dinlemek için IP:Port.

If SQL Server çalışan Windows Vista (veya eşdeğeri olan bir Windows Server sürümü), özellikle yerel IP adresi için sertifika kayıt olabilir (ıpv4: 127.0.0.1 veya ıpv6 için: [:: 1]), yaný sýra "locahost" SSL üzerinden bağlanmak için bilgisayarın dış IP adresi.Belirtilmemiş adres alternatif olarak, belirtebilirsiniz (ıpv4: 0.0.0.0 veya ıpv6 için: [::]) SSL kaydolurken sertifika. Ayrıca, Windows Vista artık SSL yönetmek için yerleşik bir araç sağlar sertifika httpcfg.exe aracını kullanmak yerine, kayıtları yeni bir 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 sorgulanıyor.

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

Sorgu ssl Httpcfg

Tek bir görüntülemek için sertifika, kullanın /i option:

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ını siliniyor

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

Sertifikası alma

Gerekiyorsa sertifika alabilirsiniz. SQL Server Internet tabanlı istemcilerde VeriSign gibi bir sertifika yetkilisinden SSL iletişim için.

Ancak, sınama amacıyla, bir sınama oluşturabileceğiniz sertifika MakeCert.exe adında araç kullanarak.MakeCert.exe parçasıdır .NET Framework sdk. Platform SDK'DA MakeCert.ext de kullanılabilir.SDK'nı karşıdan yüklemek için , gidin Microsoft .NET Framework Geliştirici Merkezi and the Microsoft Yükleme Merkezi, sırasıyla.Bir X.509 MakeCert.exe oluşturur sertifika.Bu bir ortak ve özel anahtar çifti için dijital imza oluşturur ve bunu bir sertifika dosyasında depolar.Bu araç, ayrıca anahtar çifti, belirtilen bir yayımcı ile ilişkilendirir ve bir X.509 oluşturur sertifika Kullanıcı tanımlı bir adı, anahtar çiftinin bir ortak bölümü bağlar.

Bir ana bilgisayar adı (MySQLServer) yanıt veren bir sunucu bir SSL sertifikası oluşturmak için , istediğiniz çalıştırabilirsiniz 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
    Kendini imzalamış sertifika oluşturur.Kendini imzalamış sertifika bir sertifika yetkilisi tarafından imzalanmış bir sertifika var.Bir sertifika yetkilisi tarafından imzalanmış için SSL gerekli şifreleme için kullanılabilir ancak sunucu kimlik doğrulaması için kullanılamaz.

  • -n
    Sunucu adını belirtir.Bu ad, X.500 standardına uymanız gerekir.Çift tırnak işareti koyarak, adı belirtmek için en basit yöntem olduğunu cn =.

  • -eku
    Içine virgülle ayrılmış, gelişmiş anahtar kullanımı nesne tanımlayıcılarını (Oıd) listesini belirtir sertifika.Için SQL Server, bir SSL sertifika OID 1.3.6.1.5.5.7.3.1 (szOID_PKIX_KP_SERVER_AUTH) olan bir sunucu kimlik doğrulaması için geçerli olan.

  • ss-
    Oluşturulan Sertifikanın nereye kaydettiğinizi sertifika deposunu belirtir.Bu kaydetme öneririz Benim depolar, ancak, herhangi bir sertifika deposunda kaydedilebilir.

  • -sr
    Sertifikanın bulunduğu sertifika deposunu belirtir.Ya da konum olabilir: CurrentUser (varsayılan) veya LocalMachine.Bu sertifika için bir hizmet oluşturulur, çünkü yerel bilgisayarda yerleştirilmelidir.

  • -Gök
    Sertifika anahtar türünü belirtir.Bu olmalıdır Signature, Exchangeveya 4 gibi bir tamsayıdır.RSA ortak anahtar değişimi algoritması Exchange burada büyük/küçük harf gereklidir.Bu şifrelemek ve oturum anahtarlarının şifresini çözmek için kullanılan anahtar türüdür.

  • -sp
    Cryptoapı belirtir sağlayıcı adı.Oluşturulan sertifikalar için SQL Server, bu ayarlanabilir Microsoft RSA SChannel Şifreleme sağlayıcı.

  • -sy
    Cryptoapı sağlayıcısının türünü belirtir.Sağlayıcı olduğunda Microsoft RSA SChannel Şifreleme Sağlayıcısı, this is 12.

Ek komut satırı anahtarları

  • -b
    Geçerlilik dönemin başlangıcını belirten aa/gg/yyyy biçiminde bir değeri tarih sertifika.Bu varsayılan sertifika oluşturma tarihidir.

  • -e
    Için Geçerlilik dönemin sonunu belirten aa/gg/yyyy biçiminde bir değeri tarih sertifika.Değil başka bir küme, bu 12/31/2039 23: 59: 59 GMT varsayılandır.

Örnekler

Aşağıdaki örnek, bir sertifika oluşturma gösterir. MakeCert ek seçenekler.

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

Sonra sertifikayı oluşturan sertifika veya gibi araç kullanarak MMC'den, karma edinebilirsiniz CertUtil.Kullanarak CertUtillisteleyebilirsiniz sertifika yalnızca oluşturuldu.

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.

sonuçlar çalıştırarak alınan karma CertUtil kendini imzalamış kaydetmek için Httpcfg.exe araç geçirilen sertifika.

Kullanmadan önce MakeCert kendinden imzalı bir SSL oluşturmak için sertifika ve onu, HTTP.sys ile kaydediliyor, bilgisayarda IIS yüklü olup olmadığını denetleyin.ııS'YI SSL sertifikalarını, kayıt kolaylaştırır, sihirbaz sağlar.Bu nedenle, IIS, bir SSL bilgisayarda zaten yüklü olup olmadığını sertifika zaten HTTP.sys ile kaydedilmiş.IIS Sihirbazı oluşturmak ve kaydetmek için kullanabileceğiniz değil, sertifika.

SSL sertifika s sahip bir bilgisayar genelinde etkisi, IIS kaydetmek için kullanıldığını önemli değildir, çünkü bir sertifika tarafından kullanılacak SQL Server.

Dikkate Alınacak Noktalar

  • Kaldırma, bir örnek, SQL Server, el ile silinene sürece Httpcfg.exe kullanarak oluşturduğunuz herhangi bir SSL sertifikası bağlamalarını kalır. Bu ayarlar, SQL Server Kur kullanılarak oluşturulmayan olduğundan bundan kaldırılmazlar.Bu nedenle, örnek SQL Server olduğundan kaldırıldı, bu tür bağlantıları de kaldırılması gerekir.

  • Ancak, HTTP üzerinden SSL kullanarak SQL Server IIS, IIS, bir örneğini yüklendikten sonra gerektirmez. SQL Server, HTTP SSL hizmet IIS kullanım için bağlı olur. Örneğin, IIS gibi kullanarak durdurmanız net stop iisadmin bir komut istemi isteminde, IIS, HTTP SSL hizmet durdurur.Ayrıca, IIS altında Windows yüklendikten sonra IIS (ınetinfo.exe) başlatmadan HTTP SSL hizmet başlatılamıyor.