dans une brève question: Comment puis-je remplir RSAParameters si j'avoir l'entrée suivante du tiers ?:Quel est le format du module de clé publique RSA et de l'exposant dans .net?
: Modulus 123456
Exponet: 111
Dans une longue histoire, je utilisez le code suivant:
RSACryptoServiceProvider RSAalg = new RSACryptoServiceProvider (2048);
RSAParameters rsaPublic = RSAalg.ExportParameters (false);
alors je peux obtenir le module et l'exposant de la clé publique rsa dans byte []. Pour écrire ces informations dans le format ASN.1
RSAPublicKey ::= SEQUENCE {
modulus INTEGER, -- n
publicExponent INTEGER -- e
}
J'utilise une bibliothèque ASN.1 pour convertir octet [] à son format BigInteger, mais cet octet [] devrait être dans le format comme { '0 ',' 1 ',' 2 ',' 3 ',' 4 ',' 5 ',' 6 ',' 7 ',' 8 ',' 9 '} en supposant qu'il est décimal.
Mais il semble que rsaPublic.modulus et rsaPublic.exponent ne sont pas dans ce format, il y a beaucoup de non-chiffres dans le byte [] du module et de l'exposant. Alors, quel est le format de rsaPublic.modulus et rsaPublic.exponent, et comment les convertir en un byte [] avec le format comme {'0', '1', '2', '3', '4', '5 ',' 6 ',' 7 ',' 8 ',' 9 '}?
Merci beaucoup
J'utilise une bibliothèque asn.1. Il peut facilement gérer le format de clé publique asn.1. Mais le problème est que je ne sais pas comment convertir le module .net en byte [] en un octet raisonnable [] comme {'0', '1', '2', '3', '4', '5' , '6', '7', '8', '9'}, le module rsa en byte [] semble peu simple, est-il encodé dans un format quelconque? – travellover
Il s'agit essentiellement de l'entier sous la forme d'un tableau d'octets big-endian, avec des octets d'en-tête à l'avant. De manière équivalente, il s'agit de l'entier représenté sous la forme d'un nombre de base 256. Que voulez-vous faire avec l'octet [], alors peut-être que je peux donner une meilleure idée.? –
J'ai besoin d'eux pour générer la clé publique RSA PKCS # 1 asn.1 par un module et un exposant .net RSA. mon chemin est d'utiliser une librairie asn.1. il peut accepter le module et l'exposant en byte [] en base-2, en base-18, en base-10 ou en base-16, puis générer son propre grand entier, puis générer le format de clé publique PKCS # 1. donc d'abord je veux générer biginteger par module .net RSA et exposant. .net Le module RSA et l'exposant sont en octets [], mais tous les éléments de ces octets [] ne sont pas des chiffres ASCII, n'est-ce pas? J'espère que vous pouvez comprendre ce que je dis. – travellover