23 messaggi dal 16 giugno 2014
Buongiorno
Cercando di creare un token, ottengo (in penultima Riga)

ERRORE
IDX10638: Cannot create the SignatureProvider, 'key.HasPrivateKey' is false, cannot create signatures. Key: Microsoft.IdentityModel.Tokens.X509SecurityKey.
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
Ciao
la riga a cui ti riferisci è questa?
System.IO.File.WriteAllBytes("mycert.pfx", cert.Export(X509ContentType.Pfx, "P@55w0rd"));


Per mia sicurezza ho creato una console application in Net core 3.1 (come l'originale), quindi ho aggiunto queste refereces:
<PackageReference Include="Microsoft.AspNetCore.WebUtilities" Version="2.2.0" />
<PackageReference Include="Microsoft.IdentityModel.Tokens" Version="6.12.2" />
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.12.2" />


E inserito il codice:

var rsa = RSA.Create(); // generate asymmetric key pair

string base64 = Convert.ToBase64String(rsa.ExportParameters(false).Modulus);
base64 = WebEncoders.Base64UrlEncode(rsa.ExportParameters(false).Modulus);
var req = new CertificateRequest("cn=localhost", rsa, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1);
var cert = req.CreateSelfSigned(DateTimeOffset.Now, DateTimeOffset.Now.AddYears(1));

// Create PFX (PKCS #12) with private key
System.IO.File.WriteAllBytes("mycert.pfx", cert.Export(X509ContentType.Pfx, "P@55w0rd"));

// Create Base 64 encoded CER (public key only)
System.IO.File.WriteAllText("mycert.cer",
"-----BEGIN CERTIFICATE-----\r\n"
+ Convert.ToBase64String(cert.Export(X509ContentType.Cert), Base64FormattingOptions.InsertLineBreaks)
+ "\r\n-----END CERTIFICATE-----");


E nella directory dell'eseguibile ho trovato il file mycert.pfx.

Avevi forse personalizzato il codice presto dal testo del post? Puoi provare il codice qui sopra e verificare se ritorna l'errore che mi hai segnalato?
Modificato da andrewz il 01 dicembre 2021 13:42 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.