Steg För Att Laga Fel 0 Under Problem Med Att Generera Kryptokontext

Är din dator långsam och ger dig intermittenta fel? Är du orolig för dataförlust, infektion med skadlig programvara eller maskinvarufel? Oroa dig inte längre! Reimage är här för att hjälpa till.

Under de senaste dagarna har några läsare kommit igenom det välkända felämnet Fel 0 under kryptoövervägande sammanhang. Detta problem kan uppstå av flera anledningar. Låt oss diskutera denna process nedan.

Den här artikeln ger alltid detaljerad information om när du ska använda vissa röda banners när du ringer CryptAcquireContext, samt skälen till att använda vissa av dessa flaggor.

Gäller: Windows Server 2012 R2
Original KB-nummer: 238187

Översikt

fel 9 under krypteringskontext

Anrop – vilken CryptAcquireContext-funktion som helst kan innehålla många flaggor. Är det viktigt att vara kunnig om när man ska använda dessa flaggor? Den här artikeln ger information om när sannolika flaggor används när du hämtar CryptAcquireContext och varför dessa typer av banners används.

Läs mer

Privata nyckeloperationer kan inte utföras

Om du verkligen inte använder en ihållande privat seriös kan du använda PIN-koden CRYPT_VERIFYCONTEXT (0xF0000000) om du kan ringa CryptAcquireContext. Detta säger till CryptoAPI att konstruera en nyckelbehållare i minnet, som sannolikt kommer att släppas vid alla normala anrop till CryptReleaseContext. Om min flagga används måste pszContainer-parametern definitivt vara NULL. CRYPT_VERIFYCONTEXT-bannern kan användas i följande fall:

  • Resultatet är en hash.

  • Du har en symmetrisk nyckel för att kryptera eller till och med dekryptera kunskap.

  • Var och en av dem får en fantastisk symmetrisk nyckel från en hashtid för att kryptera och dekryptera data.

  • Du tittar på signaturen. Det är möjligt att importera en blockerande offentlig nyckel från en PUBLICKEYBLOB eller helt från ett helt nytt certifikat med CryptImportKey eller möjligen CryptImportPublicKeyInfo.

  • Du planerar att exportera den symmetriska principen, men importera den när lagerkontexten löper ut.

    fel noll under krypteringskontext

    Obs

    Det är helt tänkbart att få sammanhanget med min CRYPT_VERIFYCONTEXT-flagga om du för närvarande ensam planerar att importera den offentliga huvudpunkten för de två sista scenarierna.

  • Du utför utan tvekan operationer på en enda teknik, men du använder inte varje beständig privat nyckel, som är den mest lagrade i teknikbehållaren.

  • Privata nyckelåtgärder utförs

    I allmänhet, där du vill utföra operationer som rör en privat nyckel, kommer du verkligen behöva tänka mycket på saker och ting.

    Det bästa sättet att få information om sammanhang är att försöka bilda den tillgängliga behållaren. Om detta bör du försöka isFailed med “NTE_BAD_KEYSET”, skapa en lagringsbehållare med flaggan CRYPT_NEWKEYSET.

    // Att erhålla en enskild containerkontext är unik för samtidigt användare.if (!CryptAcquireContext(&hProv, "Behållare", NOLL, PROV_RSA_FULL, 0)) i fallet (GetLastError() == NTE_BAD_KEYSET)  if (!CryptAcquireContext(&hProv, "Behållare", NOLL, PROV_RSA_FULL, CRYPT_NEWKEYSET))  Misstag // ...  // Eller hämta containerkontexten där den innehåller hela datorn.if (!cryptacquirecontext(&hprov, "Behållare", NOLL, PROV_RSA_FULL, CRYPT_MACHINE_KEYSET)) tillhandahålls (GetLastError() == NTE_BAD_KEYSET)  if (!cryptacquirecontext(&hprov, "Behållare", NOLL, PROV_RSA_FULL, CRYPT_NEWKEYSET

    Använd flaggan CRYPT_MACHINE_KEYSET

    Om du specifikt gör privata operationer per användare och behöver anpassade globala viktigaste punktoperationer, bör du definitivt använda CRYPT_MACHINE_KEYSET. Denna metod genererar ett privat/offentlig hemlighetspar för en specifik dator. Några specifika scenarier där CRYPT_MACHINE_KEYSET är mest känd för att användas:

  • Du kommer att skriva varje tjänst.
  • Din komponent hanteras på en mycket ASP-sida (Active Server Pages).
  • Ditt segment är en Microsoft Server Transaction-komponent (MTS). I dessa scenarier slutar useCRYPT_MACHINE_KEYSET att fungera eftersom . sammanhanget som programmet körs i närheten av kommer inte ha tillgång till personens profil. Till exempel kan den bästa MTS-kunden låtsas vara varje köpare, men användarens profil är verkligen inte tillgänglig eftersom personerna inte nödvändigtvis är inloggade. Detsamma gäller för komponenten som flyttar på ASP-sidan.
  • Ge åtkomst till huvudbehållaren

    Som standard, när huvudbehållaren skapas, kan alla lokala konsoler och skaparen mycket väl vara separata användare med åtkomst till alla behållaretyper. Undantaget är givetvis när en administratör skapar någon sorts viktig behållare. Lokala och systemadministratörer för internet från alla andra administratörer har anslutning till nyckelbehållaren. Alla försäkringsskydd och alla sammanhang kan inte öppna min container.

    Om din användbara kod körs i flera säkerhetskontexter måste du tillåta dem att ge lämpliga användare åtkomst till din JAR-fil.

    För att ställa in säkerheten för alla behållare, anropa CryptSetProvParam arbeta med PP_KEYSET_SEC_DESCR-flaggan efter tillagning av villkorslådan. Denna methKupongkoden låter någon ställa in en försiktighetsbeskrivning på en behållare.

    Följande lösenord visar vilken metod som ska anropas till CryptSetProvParam. Detta görs direkt efter att det mesta av startnyckeln har skapats.

    Uppdaterad

    Är du frustrerad över din dator? Om så är fallet, då är du inte ensam. Miljontals människor har samma problem och söker efter sätt att lösa det varje dag. Lyckligtvis finns det en lösning som löser alla dessa problem på bara några minuter. Reimage kan enkelt och snabbt känna igen alla Windows-fel (inklusive den fruktade Blue Screen of Death) och vidta lämpliga åtgärder för att lösa dessa problem. Applikationen kommer också att upptäcka filer och applikationer som kraschar ofta och låter dig åtgärda deras problem med ett enda klick. Klicka här nu för att komma igång:

  • Steg 1: Ladda ner och installera Reimage
  • Steg 2: Öppna programmet och klicka på knappen "Skanna"
  • Steg 3: Följ instruktionerna för att fixa din dator

  • // Hämta sammanhangetif (!CryptAcquireContext(&hProv, "Behållare", NOLL, PROV_RSA_FULL, 0)) if (GetLastError() == NTE_BAD_KEYSET)  om det visar sig (!CryptAcquireContext(&hProv, "Behållare", NOLL, PROV_RSA_FULL, CRYPT_NEWKEYSET))  Misstag // ... // skapa en stabilitetsdeskriptor (PSD)...// Ställ in en specifik hemskyddsbeskrivning för behållaren bara i detta är helt enkelt (!CryptSetProvParam(hProv, PP_KEYSET_SEC_DESCR, PSD, DACL_SECURITY_INFORMATION))  // Misstag...  

    CryptoAcquireContext-fel

    Här är de vanligaste kupongproblemen och möjliga orsaker till att någon levererade misstaget.

  • NTE_BAD_KEYSET (0x80090016)
  • Nyckeln finns aldrig någonsin.
  • Du har inte tillgång till en del av den centrala behållaren.
  • Den säkra lagringstjänsten anses inte köras på löpbandet.
  • NTE_EXISTS (0x8009000F)
  • Nyckelelementbehållaren har redan använts, men du försöker ladda den helt gratis. Om ett tidigare försök att verkligen öppna en nyckel med NTE_BAD_KEYSET inte fungerade betyder det att åtkomst till den faktiska nyckelbehållaren nekas.
  • NTE_KEYSET_NOT_DEF (0x80090019)

    Vad är ditt datorproblem? Lös dem alla med ett klick med det bästa Windows-reparationsverktyget som finns.

  • Previous post Cómo Resolver Los Códigos De Error De Singstar
    Next post How To Resolve SQL Server 2008 R2 Error 1067