Otklanjanje grešaka stanja potvrde verodostojnosti poruke kôd (MAC) greške

Šta je stanje prikaza?

Status prikaza je podatak koji se zaokružuje na tri stranice između Web obrazaca (. aspx) u aplikaciji ASP.NET. HTML naznaka za polje _ _VIEWA podseća na sledeće:

< tip unosa = "skriveno" ime = "__VIEWSTATE" ID = "_ _VIEWSTATE" vrednost = "..."/>Jedan primer stavke koja je možda uskladištena u polju "_ _ VIEWSTATE" je tekst kontrole dugmeta. Ako korisnik klikne na dugme, rukovalac događajem Button_Click će moći da izdvoji tekst dugmeta iz polja "stanje prikaza". Pogledajte temu pregleda stanja ASP.net prikaza na Web lokaciji Microsoft Developer Network (MSDN) da biste videli mnogo detaljniji pregled stanja ASP.net prikaza. Pošto polje _ _VIEWA sadrži važne informacije koje se koriste za obnovu stranice, uverite se da napadač ne može da se ponovo uključi u ovo polje. Ako je napadač prosledio zlonamerni teret koji koristi zlonameran __, napadač bi mogao da prevari aplikaciju u obavljanju radnje koje inače ne bi izveo. Da biste sprečili ovu vrstu neintervenisanja, polje _ _ VIEWNO stanje je zaštićeno kodom potvrde identiteta poruke (MAC). ASP.NET proverava da li se MAC, koji se podnosi kao odgovor u DRŽAVNOM sistemu __. Ključ koji se koristi za izračunavanje MAC navedena je u elementu aplikacije u Web. config datoteci. Pošto napadač ne može da pogodi sadržaj elementa < Mašinekey >, napadač ne može da obezbedi važeću MAC ako napadač pokuša da neovlašćeno obradi korisnog tereta STANJA _ _. ASP.NET će otkriti da nije obezbeđen važeći MAC, a ASP.NET će odbaciti zlonamerni zahtev.

Šta izaziva greške u MAC validaciji?

Greška u MAC proveri valjanosti će se podsećaće na sledeći primer:

Greška servera u aplikaciji "/". Proveravanje stanja Viewa MAC nije uspelo. Ako ovu aplikaciju hostuje Web farma ili klaster, uverite se da < Mašinekey > konfiguracija određuje isti ključ za validaciju i algoritam provere valjanosti. Automatsko generisanje se ne može koristiti u klasteru. Opis: došlo je do neobrađavanja izuzetka tokom izvršavanja trenutnog Web zahteva. Pregledajte praćenje steka za više informacija o grešci i odakle potiče u kodu. Detalji izuzetka: System. Web. HttpException: validacija stanja prikaza MAC nije uspela. Ako ovu aplikaciju hostuje Web farma ili klaster, uverite se da < Mašinekey > konfiguracija određuje isti ključ za validaciju i algoritam provere valjanosti. Automatsko generisanje se ne može koristiti u klasteru. Izvorna greška: [bez odgovarajućih izvornih redova] Izvorna datoteka:... Red: 0 Praćenje steka: [Prikaz viđenja: nevažeće stanje prikaza. Klijent IP::: 1 Port: 40653 Referer: http://localhost:40643/MyPage.aspx Putanja:/Mipage.aspx Korisnik-agent: Mozilla/5.0 (kompatibilno; MSIE 10,0; Windows NT 6,2; WOW64 Trident/6.0) Stanje gledišta:...] [HttpException (0x80004005): validacija stanja gledišta MAC nije uspela. Ako ovu aplikaciju hostuje Web farma ili klaster, uverite se da < Mašinekey > konfiguracija određuje isti ključ za validaciju i algoritam provere valjanosti. Automatsko generisanje se ne može koristiti u klasteru. Pogledajte http://go.microsoft.com/fwlink/?LinkID=314055 za više informacija.] System. Web. korisnički. UI izuzetak. Troverror (izuzetak unutrašnji, niski trajna, niska, kôda za nisku \ 0) + 190 System. Web. UI. Viewdrzavni izuzetak. greška pri Tromvalidnosti (izuzetak, trajna niska, stanje u niski) + 46 System. Web. UI. Objectobject. Dezeriizacija (niska inputString, namena namene) + 861 System. Web. UI. Objectobject Formater. System. Web. UI. IStateFormatter2. Dezerialize (Serijalizno stanje niske, namena namene) + 51 System. Web. UI. Util. Dezerializabilno (IStateFormatter2 Formatter, Serijalizovazno stanje, namena namene) + 67 System. Web. UI. Hiddenestin. Load () + 444 System. Web. UI. stranica. Utovpagestatefromtrajna Encemedium () + 368 System. Web. UI. stranica. Utovalstate () + 109 System. Web. UI. stranicu. Processreketestov (Boolean Includestagespre Azyncpoint, Bulova Includ-tačka.) + 7959 System. Web. UI. stranica. request (Bulov zahtev (Boolean Includestagespre Asyncpoint, logičko Includetagesposle Asyncpoint) + 429 System. Web. UI. stranica. request () + 125 System. Web. korisnički. Page. stranicu. Processrekonnovvvvna (HttpContext Context) + 48 System. Web. UI. stranica. request (HttpContext kontekst) + 234 ASP. mypage_aspx. ProcessRequest (HttpContext kontekst) u...: 0 System. Web-je-ovo je. System. Web. HttpApplication. Idželionstep. Execute () + 1300 System. Web. HttpApplication. Dželestep (Idželionstep step, Boolean & kompletno sinhronizovano) + 140

1. razlog: Web aplikacija je pokrenuta u farmi (okruženje sa više servera)

ASP.NET automatski generiše ključ za šifrovanje za svaku aplikaciju i skladišti ključ u Saće registratora HKCU. Ovaj automatski generisan ključ se koristi ako ne postoji izričit < > element u konfiguraciji aplikacije. Međutim, pošto je ovaj automatski generisan ključ lokalni za računar koji je kreirao ključ, ovaj scenario uzrokuje problem za aplikacije koje se pokreću u farmi. Svaki server u farmi će generisati svoj lokalni ključ, a nijedan server u farmi neće se složiti oko toga koji taster da koristite. Rezultat je da, ako jedan server generiše korisnog tereta STANJA _ _ z koji drugi server troši, potrošač će doživeti grešku u MAC proveri valjanosti.

  • Rezolucija 1A: kreiranje izričitih < računara > elementa Dodavanjem izričitih < Mašinekey > element Web. config datoteke aplikacije, projektant vam saopštava ASP.NET da ne koristi automatski generisani ključ za šifrovanje. Pogledajte aneks a za uputstva kako da generišete < > elementu. Nakon što se ovaj element doda Web. config datoteci, ponovo primenite aplikaciju na svaki server u farmi. Belešku Neke usluge Web hostinga, kao što su Microsoft Azure Veb lokacije, preduzimaju korake za sinhronizaciju automatskog generisanog ključa aplikacije preko back servera. Ovo omogućava aplikacijama koje nisu naveli eksplicitno < Mašinekey > elementa da nastave rad u ovim okruženjima, čak i ako je aplikacija pokrenuta u farmi. Ako je aplikacija pokrenuta na nezavisnom servisu, obratite se dobavljaču usluga da biste utvrdili da li se ova situacija odnosi na vas.

  • Rezolucija 1B: omogućavanje afiniteta u balanceru opterećenja Ako vaše lokacije rade iza balancera opterećenja, možete da omogućite afinitet servera da biste privremeno zaobišli problem. Na ovaj način ćete osigurati da bilo koji klijent samo komunicira sa jednim fizičkim serverom koji stoji iza njega, tako da će sve korisnog opterećenja za šifrovanje biti generisane i utrošene na isti server. To ne bi trebalo smatrati dugotrajnim rešenjem problema. Čak i kada je omogućeno afinitet servera, većina ćelara za učitavanje će preusmeriti klijenta na drugi fizički server ako je originalni server na koji su preusmjerivači opterećenja ponovo povezan. To dovodi do toga da novi server odbaci kriptografske isplate (kao što su _ _VIEWSTATE, ulaznice za proveru identiteta obrazaca, MVCs Tokens, i druge usluge) koje trenutno ima klijent. Korišćenje izričitih < računara > element i ponovno raspoređivanje aplikacije treba da bude poželjna za omogućavanje afiniteta servera.

3. razlog: radnik je u procesu korišćenja struktura IIS 7,0 aplikacija za rezervisani prostor

Internet Information Services (IIS) 7,0 (Windows Vista, Windows Server 2008) uveo je identitet za rezervisani prostor aplikacije, novi izolacioni mehanizam koji pomaže da se obezbedi povećana bezbednost servera koji pokreću ASP.net aplikacije. Međutim, lokacije koje rade pod identitetom za rezervisani prostor aplikacije nemaju pristup registratoru HKCU. Ovo je mesto gde ASP.NET u izvršavanju skladišti automatski generisani < Mašinekey > ključeva. Rezultat je da ASP.NET ne može da istraje automatski generisan ključ kada se uspostavi Početna vrednost za rezervisani prostor aplikacije. Stoga, svaki put kada se w3wp. exe uspostavi početne vrednosti, generiše se novi privremeni ključ. Belešku Ovo nije problem u serverskoj aplikaciji IIS 7,5 (Windows 7, Windows Server 2008 R2) i novijim verzijama. U ovim verzijama programa IIS ASP.NET mogu da primene automatski generisane ključeve na drugoj lokaciji koja preživljava ponovno uspostavi početne vrednosti za rezervisani prostor aplikacija.

  • Rezolucija 2a: koristite uslužni program aspnet_regiis ASP.NET instalacije sadrže uslužni program, aspnet_regiis. exe. Ovaj uslužni program omogućava ASP.NET interfejsu sa IIS-om da izvrši konfiguracije koje su potrebne za pokretanje kontrolisane aplikacije. Jedna od ovih konfiguracija kreira neophodne ključeve u grozd registra da bi omogućio postojanost automatskih ključeva za mašine. Prvo morate da utvrdite koju grupu aplikacija vaša lokacija koristi. Ovo može da se utvrdi pomoću uslužnog programa inetmgr koji je uključen u IIS. Izaberite lokaciju u prikazu stabla na levoj strani, kliknite desnim tasterom miša na stavku Upravljaj Website, a zatim izaberite stavku Više opcija za postavke. Dijalog koji će se pojaviti prikazaće ime za rezervisani prostor aplikacije. Advanced Settings Da biste skavili odgovarajuće ključeve registra za ASP.NET 4,0, sledite ove korake:

    1. Otvorite administrativnu komandnu liniju.

    2. Pronađite odgovarajući direktorijum u zavisnosti od toga da li je radni prostor aplikacije 32-bitni ili 64-bitni:

      • 32-bitni prostor aplikacije: CD/d%windir%\Microsoft.NET\Framework\v4.0.30319

      • 64-bitni prostor aplikacije: CD/d%windir%\Microsoft.NET\Framework64\v4.0.30319

    3. Premestite se u direktorijum, otkucajte sledeću komandu, a zatim pritisnite taster ENTER:

      aspnet_regiis-ga "IIS appbazena \App-bazena-name"

    Ako je rezervisani prostor aplikacije ASP.NET 2,0 ili 3,5 za aplikaciju, sledite ove korake:

    1. Otvorite administrativnu komandnu liniju.

    2. Pronađite odgovarajući direktorijum u zavisnosti od toga da li je radni prostor aplikacije 32-bitni ili 64-bitni:

      • 32-bitni prostor aplikacije: CD/d%windir%\Microsoft.NET\Framework\v2.0.50727

      • 64-bitni prostor aplikacije: CD/d%windir%\Microsoft.NET\Framework64\v2.0.50727

    3. Premestite se u direktorijum, otkucajte sledeću komandu, a zatim pritisnite taster ENTER:

      aspnet_regiis-ga "IIS appbazena \App-bazena-name"

    Na primer, ako je prostor aplikacije nazvan "moj rezervisani prostor" (kao na prethodnoj slici), pokrenite sledeću komandu:

    aspnet_regiis-ga "IIS apppul \My rezervisani prostor aplikacije" Belešku Sistemske usluge APFOSTSVC i možda će biti pokrenut za uslužni program aspnet_regiis da biste otklonili IIS APPPUL \ * imena na odgovarajući način.

  • Rezolucija 2B: kreiranje izričitih < računara > elementa Dodavanjem izričitih < Mašinekey > element Web. config datoteke aplikacije, projektant vam saopštava ASP.NET da ne koristi automatski generisani ključ za šifrovanje. Pogledajte aneks a za uputstva kako da generišete < > elementu.

3. razlog: rezervisani prostor aplikacije je konfigurisan korišćenjem funkcije Utovuserprofile = FALSE

Ako je radni prostor aplikacije pokrenut sa prilagođenim identitetom, IIS možda nije učitao korisnički profil za identitet. To ima nusefekat da se registrator HKCU ne nalazi na raspolaganju za ASP.NET da istraje automatski generisano < Mašinekey >. Zbog toga će novi automatski generisani ključ biti kreiran svaki put kada se aplikacija ponovo pokrene. Više informacija potražite u odeljku korisničkog profila na Microsoft Veb lokaciji.

  • Rezolucija 3A: korišćenje uslužnog programa aspnet_regiis Uputstva za to su ista kao Rezolucija 2a. Više informacija potražite u tom odeljku.

  • Rezolucija 3B: koristite eksplicitan < Mašinekey > Dodavanjem izričitih < Mašinekey > element Web. config datoteke aplikacije, projektant vam saopštava ASP.NET da ne koristi automatski generisani ključ za šifrovanje. Pogledajte aneks a za uputstva kako da generišete < > elementu.

  • Rezolucija 3c: odredba potrebni HKCU ključevi registratora ručno Ako ne možete da pokrenete uslužni program aspnet_regiis, možete da koristite skriptu Windows PowerShell za obezbeđivanje odgovarajućih ključeva registratora u HKCU. Za više informacija pogledajte aneks B .

  • Rezolucija 3D: postavljanje Utovuserprofile = TRUE za ovaj rezervisani prostor aplikacije Možete i da omogućite učitavanje korisničkog profila unutar ove grupe aplikacija. To čini Saće registratora HKČU, privremenu fasciklu i druge lokacije za skladištenje koje su specifične za korisnika koje su dostupne aplikaciji. Međutim, to može izazvati povećanu upotrebu diska ili memorije za proces radnika. Više informacija o omogućavanju ove postavke potražite u elementu .

Uzrok 4: stranica. svojstvo "Viewnistvo Userkey" ima neispravnu vrednost

Projektanti softvera mogu da odluče da li će koristiti stranicu. svojstvo "Viewstatus Userkey " da biste dodali zahtev za falsifikatom zaštitu na više lokacija u polju "_ _ viewstate". Ako koristite stranicu. svojstvo "viewnistvo Userkey " obično je podešeno na vrednost kao što je korisničko ime trenutnog korisnika ili identifikator sesije korisnika. Predlošci projekta za aplikacije za Web obrasce u programu Microsoft Visual Studio 2012 i novijim verzijama sadrže uzorke koji koriste ovo svojstvo. Pogledajte stranicu. teme svojstava svojstva korisničkog ključa na Web lokaciji Microsoft Developer Network (MSDN) za više informacija. Ako je svojstvo Viewdrzavne šifre korisnika navedeno, njegova vrednost se narezuje u _ _VIEWSTATE u vreme generisanja. Kada je polje _ _ VIEWOVOG STANJA potrošeno, server proverava svojstvo " ID korisnika " trenutne stranice i proverava ga u odnosu na vrednost koja je korišćena za GENERISANJE polja _ _ viewidno. Ako se vrednosti ne podudaraju, zahtev se odbacuje kao potencijalno zlonameran. Primer neodgovarajuće greške u vezi sa Korisnikovim ključem bio bi klijent koji je otvoreno dve kartice u pregledaču. Klijent je prijavljen kao korisnik A, i na prvoj kartici, stranica se vizuelizuje sa _ _ VIEWSTANJEM čije svojstvo Viewstatus Userkey sadrži "User A". Na drugoj kartici, klijent se odjavljuje, a zatim ponovo evidentira kao korisnik B. Klijent se vraća na prvu karticu i prosleđuje obrazac. Svojstvo viđenja Userkey može da sadrži "User B" (zato što je to ono što on kaže kolačić za potvrdu identiteta klijenta). Međutim, polje _ _ VIEWFIELD koje klijent podnosi sadrži "User A". Ovaj Nepodudaranje uzrokuje neuspeh.

  • Rezolucija 4a: proverite da li je ID prikaza korisničkog ključa ispravno podešen Ako aplikacija koristi svojstvo " Viewstatus Userkey ", proverite da li je vrednost svojstva ista i kada se generiše stanje prikaza i kada je potrošena. Ako koristite trenutno prijavljenog korisnika korisničkog imena, uverite se da je korisnik još uvek prijavljen i da se identitet korisnika nije promenio u trenutku kada se vraća. Ako koristite identifikator sesije trenutnog korisnika, uverite se da sesija nije istekla. Ako radite u farmi farme, uverite se da se elementi < računara > poklapaju. Pogledajte Aneks A za uputstva o tome kako da generišete ove elemente.

Aneks A: kako da generišete < Mašinekey > element

Bezbednosno upozorenje Postoji mnogo Web lokacija koje će generisati < > element za vas sa klikom na dugme. Nikada nemojte koristiti < koji je > element koji ste dobili sa jedne od ovih lokacija. Nemoguće je znati da li su ovi ključevi bezbedno kreirani ili su zapisani u tajnoj bazi podataka. Trebalo bi da koristite samo < Mašinekey > elemente konfiguracije koje ste sami kreirali.

Da biste generisali < Mašinekey > element, možete da koristite sledeću skriptu Windows PowerShell :

# Generates a <machineKey> element that can be copied + pasted into a Web.config file.
function Generate-MachineKey {
  [CmdletBinding()]
  param (
    [ValidateSet("AES", "DES", "3DES")]
    [string]$decryptionAlgorithm = 'AES',
    [ValidateSet("MD5", "SHA1", "HMACSHA256", "HMACSHA384", "HMACSHA512")]
    [string]$validationAlgorithm = 'HMACSHA256'
  )
  process {
    function BinaryToHex {
        [CmdLetBinding()]
        param($bytes)
        process {
            $builder = new-object System.Text.StringBuilder
            foreach ($b in $bytes) {
              $builder = $builder.AppendFormat([System.Globalization.CultureInfo]::InvariantCulture, "{0:X2}", $b)
            }
            $builder
        }
    }
    switch ($decryptionAlgorithm) {
      "AES" { $decryptionObject = new-object System.Security.Cryptography.AesCryptoServiceProvider }
      "DES" { $decryptionObject = new-object System.Security.Cryptography.DESCryptoServiceProvider }
      "3DES" { $decryptionObject = new-object System.Security.Cryptography.TripleDESCryptoServiceProvider }
    }
    $decryptionObject.GenerateKey()
    $decryptionKey = BinaryToHex($decryptionObject.Key)
    $decryptionObject.Dispose()
    switch ($validationAlgorithm) {
      "MD5" { $validationObject = new-object System.Security.Cryptography.HMACMD5 }
      "SHA1" { $validationObject = new-object System.Security.Cryptography.HMACSHA1 }
      "HMACSHA256" { $validationObject = new-object System.Security.Cryptography.HMACSHA256 }
      "HMACSHA385" { $validationObject = new-object System.Security.Cryptography.HMACSHA384 }
      "HMACSHA512" { $validationObject = new-object System.Security.Cryptography.HMACSHA512 }
    }
    $validationKey = BinaryToHex($validationObject.Key)
    $validationObject.Dispose()
    [string]::Format([System.Globalization.CultureInfo]::InvariantCulture,
      "<machineKey decryption=`"{0}`" decryptionKey=`"{1}`" validation=`"{2}`" validationKey=`"{3}`" />",
      $decryptionAlgorithm.ToUpperInvariant(), $decryptionKey,
      $validationAlgorithm.ToUpperInvariant(), $validationKey)
  }
}

Za ASP.NET 4,0 aplikacija možete samo da pozovete generikekat bez parametara da biste generisali < mašinekey > elementa na sledeći način:

PS> Generate-MachineKey
<machineKey decryption="AES" decryptionKey="..." validation="HMACSHA256" validationKey="..." />

ASP.NET 2,0 i 3,5 aplikacija ne podržavaju HMACSHA256. Umesto toga, možete da precizirate SHA1 da biste generisali kompatibilni < > element na sledeći način:

PS> Generate-MachineKey -validation sha1
<machineKey decryption="AES" decryptionKey="..." validation="SHA1" validationKey="..." />

Čim imate < > element, možete ga staviti u Web. config datoteku. < Mašinekey > element je važeći samo u Web. config datoteci u korenu aplikacije i nije važeći na nivou potfascikle.

<configuration>
  <system.web>
    <machineKey ... />
  </system.web>
</configuration>

Da biste dobili kompletnu listu podržanih algoritama, pokrenite pomoć u Generisano-Mašinektu iz odzivnika Windows PowerShell.

Aneks B: obezbeđivanje registratora tako da će se nastaviti automatski generisani ključevi

Po podrazumevanoj vrednosti, zato što su ASP. mreže automatski generisani ključevi u registratoru HKCU, ovi tasteri mogu biti izgubljeni ako korisnički profil nije učitan u proces IIS radnika, a zatim je reciklira prostor aplikacije. Ovaj scenario mogao bi da utiče na deljene dobavljače hostinga koji koriste bazene aplikacija kao standardni Windows korisnički nalozi. Da biste zaobišli ovu situaciju, ASP.NET omogućava i trajna automatsko generisana ključa u registratoru HKLM, a ne iz registratora HKCU. Ovo se obično izvodi korišćenjem uslužnog programa aspnet_regiis (pogledajte instrukcije u odeljku "Rezolucija 2a: koristite odeljak aspnet_regiis uslužni program"). Međutim, za administratore koji ne žele da pokrenu ovaj uslužni program, umesto toga može da se koristi sledeća skripta Windows PowerShell :

# Provisions the HKLM registry so that the specified user account can persist auto-generated machine keys.
function Provision-AutoGenKeys {
  [CmdletBinding()]
  param (
    [ValidateSet("2.0", "4.0")]
    [Parameter(Mandatory = $True)]
    [string] $frameworkVersion,
    [ValidateSet("32", "64")]
    [Parameter(Mandatory = $True)]
    [string] $architecture,
    [Parameter(Mandatory = $True)]
    [string] $upn
  )
  process {
    # We require administrative permissions to continue.
    if (-Not (new-object System.Security.Principal.WindowsPrincipal([System.Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)) {
        Write-Error "This cmdlet requires Administrator permissions."
        return
    }
    # Open HKLM with an appropriate view into the registry
    if ($architecture -eq "32") {
        $regView = [Microsoft.Win32.RegistryView]::Registry32;
    } else {
        $regView = [Microsoft.Win32.RegistryView]::Registry64;
    }
    $baseRegKey = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, $regView)
    # Open ASP.NET base key
    if ($frameworkVersion -eq "2.0") {
        $expandedVersion = "2.0.50727.0"
    } else {
        $expandedVersion = "4.0.30319.0"
    }
    $aspNetBaseKey = $baseRegKey.OpenSubKey("SOFTWARE\Microsoft\ASP.NET\$expandedVersion", $True)
    # Create AutoGenKeys subkey if it doesn't already exist
    $autoGenBaseKey = $aspNetBaseKey.OpenSubKey("AutoGenKeys", $True)
    if ($autoGenBaseKey -eq $null) {
        $autoGenBaseKey = $aspNetBaseKey.CreateSubKey("AutoGenKeys")
    }
    # Get the SID for the user in question, which will allow us to get his AutoGenKeys subkey
    $sid = (New-Object System.Security.Principal.WindowsIdentity($upn)).User.Value
    # SYSTEM, ADMINISTRATORS, and the target SID get full access
    $regSec = New-Object System.Security.AccessControl.RegistrySecurity
    $regSec.SetSecurityDescriptorSddlForm("D:P(A;OICI;GA;;;SY)(A;OICI;GA;;;BA)(A;OICI;GA;;;$sid)")
    $userAutoGenKey = $autoGenBaseKey.OpenSubKey($sid, $True)
    if ($userAutoGenKey -eq $null) {
        # Subkey didn't exist; create and ACL appropriately
        $userAutoGenKey = $autoGenBaseKey.CreateSubKey($sid, [Microsoft.Win32.RegistryKeyPermissionCheck]::Default, $regSec)
    } else {
        # Subkey existed; make sure ACLs are correct
        $userAutoGenKey.SetAccessControl($regSec)
    }
  }
}

Sledeći primer prikazuje kako se vrši odredba odgovarajućih stavki registratora HKLM za rezervisani prostor aplikacije koji se pokreće kao korisnik, example@contoso.com (ovo je UPN korisničkog naloga operativnog sistema Windows). Ovaj rezervisani prostor aplikacije je 32-bitni rezervisani prostor aplikacije koji pokreće CLR v 2.0 (ASP.NET 2,0 ili 3,5).

PS> Provision-AutoGenKeys -FrameworkVersion 2.0 -Architecture 32 -UPN "example@contoso.com"

Ako je rezervisani prostor aplikacije 64-bitni radni prostor aplikacije koji radi pod CLR v 4.0 (ASP.NET 4,0 ili 4,5), komanda je sledeća:

PS> Provision-AutoGenKeys -FrameworkVersion 4.0 -Architecture 64 -UPN "example@contoso.com"

Iako su automatski generisani ključevi uskladišteni u HKLM-u, potključ registratora koji sadrži tajni kriptografski materijal svakog korisničkog naloga dodaje se na listu kontrole pristupa (ACL) tako da nije moguće čitati šifrovane materijale od strane drugih korisničkih naloga.

Aneks C: šifrovanje < Mašinekey > elementa u konfiguracionim datotekama

Administratori servera možda ne žele veoma osetljive informacije, kao što je < Mašinekey > ključni materijal za njegov oblik u obliku čisti tekst u konfiguracionim datotekama. U tom slučaju, administratori mogu odlučiti da iskoriste prednosti funkcije .NET Framework poznatu pod nazivom "zaštićena konfiguracija". Ova funkcija vam omogućava da šifrujete određene odeljke. config datoteka. Ako se sadržaj ovih konfiguracionih datoteka ikada otkriva, sadržaj ovih sekcija će i dalje biti tajna. Na MSDN Veb lokaciji možete da pronađete kratak pregled zaštićene konfiguracije . Takođe sadrži uputstvo o zaštiti < niski za veze > i < Mašinekey > elementima Web. config datoteke.

Potrebna vam je dodatna pomoć?

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Microsoft insajdere

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Izgleda da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×