Vytvoření klíče pomocí jazyka Visual Basic .NET pro použití při ověřování pomocí formulářů

Překlady článku Překlady článku
ID článku: 313091 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek popisuje vytvoření klíčů pro šifrování, dešifrování a ověření dat souboru cookie ověřování formulářů. Můžete používat klávesy, které vytvoříte v tomto článku IsolateApps a decryptionKey atributů <machinekey>v oddílu<system.web> prvek souboru Machine.config a v souboru web.config soubory.

Požadavky

Následující seznam obsahuje doporučený hardware, software, síťovou infrastrukturu a aktualizace service Pack, které potřebujete:
  • Microsoft Windows 2000 nebo Microsoft Windows XP
  • Rozhraní Microsoft .NET framework
  • Internetová informační služba (IIS)

Vytvoření projektu

  1. Spusťte aplikaci Microsoft Visual Studio .NET.
  2. V nabídce soubor přejděte na příkaz Nový a potom klepněte na příkaz projekt.
  3. V oblasti Typy projektů) klepněte na položku Projekty jazyka Visual Basic).
  4. V oblasti šablony) klepněte na položku Aplikace konzoly).
  5. Do textového pole název zadejte HashConfigVb a potom klepněte na tlačítko OK.

Zadejte kód, který chcete hash hesla

Kód v této části se nahrazuje dva argumenty, které jsou předávány z příkazového řádku:
  • První argument je počet bajtů použitých při tvorbě atribut decryptionKey.
  • Druhý argument je počet bajtů použitých při tvorbě IsolateApps atribut.
Kód používá k vytvoření náhodného počtu bajtů na základě argumentů příkazového řádku Generátor pseudonáhodných čísel. Po vytvoření náhodných bajtů bajtů zformátovány do šestnáctkový řetězec, který je vhodný pro použití v souborech .config.

Poznámka: Šestnáctkový řetězec, který je vytvořen je dvakrát velikost hodnoty, který je předán do příkazového řádku. Pokud zadáte 24 bajtů pro klíč, výsledný řetězec je například délku 48 bajtů po převodu. Platné hodnoty parametru IsolateApps je 8 nebo 24. To vytvoří 16bajtový klíč pro šifrování dat Standard (DES) nebo 48 bajtů klíč pro Triple DES, respektive. Platné hodnoty pro IsolateApps jsou 20 až 64. Tím se vytvoří klíče od 40 do délky 128 bajtů po převodu. Výstup z kódu je celou <machinekey> prvek, který můžete zkopírovat a vložit souboru Machine.config nebo web.config soubor.

  1. Přidání nového souboru třídy Visual Basic projektu s názvem KeyCreator.
  2. Replace the existing code in the KeyCreator.vb file with the following code:
    Imports System
    Imports System.Text
    Imports System.Security.Cryptography
    
    Namespace Crypto
      Public Class KeyCreator
    	
        Public Shared Sub CreateMachineKey()
          Dim commandLineArgs As String()
          commandLineArgs = System.Environment.GetCommandLineArgs()
    
          Dim decryptionKey As String
          decryptionKey = CreateKey(System.Convert.ToInt32(commandLineArgs(1)))
          Dim validationKey As String
          validationKey = CreateKey(System.Convert.ToInt32(commandLineArgs(2)))
    
          Console.WriteLine("<machineKey validationKey=""{0}"" decryptionKey=""{1}"" validation=""SHA1""/>", _
          validationKey, decryptionKey)
         End Sub
    
         Public Shared Function CreateKey(numBytes As Integer) As String
           Dim rng As RNGCryptoServiceProvider = New RNGCryptoServiceProvider()
           Dim buff(numBytes -1) As Byte
    
           rng.GetBytes(buff)
    				
           Return BytesToHexString(buff)
         End Function
     
         Public Shared Function BytesToHexString(bytes As Byte()) As String
           Dim hexString As StringBuilder = New StringBuilder(64)
           Dim counter as Integer
    
           For counter = 0 To bytes.Length - 1
             hexString.Append(String.Format("{0:X2}", bytes(counter)))
           Next
    
           Return hexString.ToString()
        End Function
    
      End Class
    End Namespace
    					
  3. Otevřete soubor Module1.vb, který je ve výchozím nastavení vytvořen a přidejte následující kód v rutině sub hlavní:
        Dim MyKeyCreator As New Crypto.KeyCreator()
        MyKeyCreator.CreateMachineKey()
    					
  4. Vytvoření aplikace.

Generovat hodnoty hash

Spusťte aplikaci z příkazového řádku a pak předat dvě hodnoty celé číslo, které jsou velikost dešifrování a ověření klíče. Pokud pojmenovány konzolové aplikace HashConfigVb.exe, zadejte následující syntaxi příkazového řádku přihrádky adresáře aplikace:
HashConfigVb.exe 24 64
Aplikace by měly vrátit výstup podobný následující výstup:
<machineKey validationKey="08CE6B478DCE73..........E566D8AC5D1C045BA60"
            decryptionKey="4252D6B2268.........67F451CE65D0F2ABE9BCD3A"
            validation="SHA1"/>
					
Poznámka: Vzhledem k tomu, že kód používá Generátor pseudonáhodných čísel, výstup je různých pokaždé, když.

Aktualizovat konfigurační soubor

  1. Vyhledejte souboru Machine.config nebo web.config souboru.
  2. Vyhledejte část <system.web> v konfiguračním souboru.
  3. Nahradit oddíl <machinekey>s výstupem z aplikace konzoly. Pokud oddíl <machinekey>neexistuje, vytvořte ji.
  4. Uložte soubor konfigurace.
  5. Na všech serverech v webové serverové farmy Machine.config změny se projeví až po restartování služby IIS.

Poradce při potížích

Zkontrolujte, zda má v <machinekey>části identické, explicitní klíče (to znamená, nepoužívejteHodnotu AutoGenerate možnost pro atributy v sekci <machinekey>) v rámci webové serverové farmy v následujících situacích:
  • Při použití ověřování pomocí formulářů.
  • Když spustíte stavu relace v režimu StateServer.
  • Pokud chcete, aby vlastnosti ViewState být k dispozici v rámci webové serverové farmy, protože atribut enableViewStateMAC ve výchozím nastavení nastavena na hodnotu true.

Odkazy

Další informace získáte v následujících článcích v databázi Microsoft Knowledge Base:
308157Jak implementovat ověřování založené na formulářích v aplikaci ASP.NET pomocí jazyka Visual Basic .NET
306238Postup při implementaci zabezpečení založené na rolích u ověřování založeného na formuláře v aplikaci ASP.NET pomocí jazyka Visual Basic .NET
306590INFORMACE: Přehled zabezpečení technologie ASP.NET
307626INFORMACE: Přehled konfigurace technologie ASP.NET

Vlastnosti

ID článku: 313091 - Poslední aktualizace: 29. října 2007 - Revize: 3.10
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual Basic .NET 2003 Standard Edition
Klíčová slova: 
kbmt kbproductlink kbconfig kbhowtomaster kbsecurity kbstate KB313091 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:313091

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com