GNU/Linux >> Linux Esercitazione >  >> Linux

.NET core X509Store su Linux

La risposta di @mbican è corretta. i certificati sono collocati in

~/.dotnet/corefx/cryptography/x509stores/

Non credevo a questa risposta di una riga senza contesto e non capivo come ci fosse arrivato. Ecco perché voglio condividere le mie scoperte come risposta per tutti i futuri visitatori che si imbatteranno nello stesso problema.

  1. Usa il file del certificato pfx, NON devi convertirlo in pem o crt o qualcosa del genere

  2. Archivia il certificato con dotnet, in modo da poter vedere dove si trova il file. Una piccola riga di comando C#:

    using (var store = new X509Store(StoreName.My, StoreLocation.CurrentUser, OpenFlags.ReadWrite))
    {
        store.Add(new X509Certificate2(
            "./thePathToTheCert.pfx", "passwordOfTheCert", 
            X509KeyStorageFlags.PersistKeySet));
    }
    

    Questo ha creato la cartella ~/.dotnet/corefx/cryptography/x509stores/ e inserito il certificato all'interno.~/.dotnet/corefx/cryptography/x509stores/my/ThumbPrintOfTheCertificate.pfx

    Suggerimento:usavamo StoreLocation.LocalMachine su Windows ma quando eseguiamo su Linux non c'è LocalMachine Store, quindi siamo passati a StoreLocation.CurrentUser . Otterrai questo errore se provi LocalMachine:Unix LocalMachine X509Stores are read-only for all users.

Spero che questo aiuti qualcuno.


~/.dotnet/corefx/cryptography/x509stores/


Linux
  1. C# in ambiente Linux

  2. Visual Basic .Net su Linux

  3. Come scrivere un demone Linux con .Net Core

  4. NuGet per .NET Core in Linux

  5. Copia il file da Linux a Windows Condividi con C# (.NET core)

.NET e Docker

Il classico Path.DirectorySeparatorChar ottiene risultati quando si passa da .NET Core su Windows a Linux

Provare .NET Core su Linux con solo un tarball (senza apt-get)

Pubblicazione di un sito Web ASP.NET Core su un host di macchine virtuali Linux economico

Come installare (.NET Core) Dotnet Core nelle distribuzioni Linux

Come compilare l'app .NET Core per Linux in un computer Windows