IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

SIGNATURE RSA en .net [Généralités]


Sujet :

WinDev

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 86
    Points : 45
    Points
    45
    Par défaut SIGNATURE RSA en .net
    Bonjour,
    je cherche à signer une chaine (ou un fichier) pour sécuriser des données (nouvelle obligation des logiciels d'encaissements) , il faut pouvoir garantir la restitution des données d'origine (non douteuse )
    je pense qu'il n'est pas possible de crypter car il faut donnée la clé de cryptage privé pour décrypter , par contre en signant la chaine ou le fichier ,on peut donnée la clé public qui servira à contrôler les données sans que l'on puisse les falsifiées .
    en .net on peut utiliser mscorlib :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MonRsa est un System.Security.Cryptography.RSACryptoServiceProvider
    privateKey est un System.Security.Cryptography.RSAParameters
    et pour MonRsa.ImportParameters(privateKey)il faut identifier privateKey.P ,privateKey.D etc ... pour que cela fonctionne , c'est la que je bug ,j'ai bien ma clé privé mais je ne sais pas comment l'utilisé avec ses paramètres .
    je pense que je suis sur le bon chemin , si quelqu'un à des infos sur mon soucis et le reste de la procédure , je lui en serais reconnaissant .
    merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Vous avez un exemple de code disponible ici

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 86
    Points : 45
    Points
    45
    Par défaut
    merci de votre réponse , j'ai résolu une partie de mon soucis en faisant :

    xxx.FromXmlString(xmlParams)
    xmlParams étant ma cléprivé généré avec RSA.ToXmlString(true)

    mais je bug pour le reste , j'ai un hash avec une signature ,je ne sais pas comment les joindres pour pouvoir par exemple les vérifier avec openssl

  4. #4
    Membre actif
    Homme Profil pro
    Ingé Indus
    Inscrit en
    Juillet 2014
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingé Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 107
    Points : 241
    Points
    241
    Par défaut
    Il y a également un sujet sur le RSA via une dll:
    https://www.developpez.net/forums/d1...ide-rsa-p-aes/

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 86
    Points : 45
    Points
    45
    Par défaut
    Bonjour,
    merci je l'ai bien scruté mais il n'y a rien sur une signature .

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Je ne trouve pas grand chose à ce sujet, mis à part cette librairie ainsi que le code qui va avec, mais cette librairie est payante.

    EDIT: autre piste trouvée
    Dernière modification par Invité ; 03/02/2017 à 14h08.

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 86
    Points : 45
    Points
    45
    Par défaut
    j'ai crée ce bout de code vite fait à rajouter dans celui de bastiencb ici https://www.developpez.net/forums/d1...ide-rsa-p-aes/
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     static public string Signature(string _sPrivateKeyXML,string _sDataToSign, ref string __sMessErr)
            {
                try
                {
                    //Create a new instance of RSACryptoServiceProvider.
                    RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
                RSA.FromXmlString(_sPrivateKeyXML);
     
                //Create a new instance of RSAPKCS1SignatureFormatter.
                RSAPKCS1SignatureFormatter RSAFormatter = new RSAPKCS1SignatureFormatter(RSA);
                RSAFormatter.SetHashAlgorithm("SHA1");
     
                //Create a new instance of SHA1CryptoServiceProvider.
                SHA1CryptoServiceProvider UnCrypto = new SHA1CryptoServiceProvider();
     
                byte[] DataSign = Encoding.ASCII.GetBytes(_sDataToSign);
                byte[] Sign = UnCrypto.ComputeHash(DataSign);
     
                byte[] SignedHash = RSAFormatter.CreateSignature(Sign);
     
                return Convert.ToBase64String(SignedHash);
                }
                catch (CryptographicException e)
                {
                    __sMessErr = e.ToString();
                    return null;
                }
     
            }
    çà fonctionne bien mais je ne peux pas garantir la restitution des données d'origine puisque c'est une signature sur un hash ,le texte de loi est foireux ,l'avantage c'est qu'il fait toujours à peux près la même longueur , il faudrait peut-être encapsuler la bête ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Article] La signature électronique avec .Net
    Par StormimOn dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 29/06/2017, 09h42
  2. Signature SHA1withRSA en .Net
    Par MagicYass dans le forum C#
    Réponses: 1
    Dernier message: 09/09/2009, 10h30
  3. [crypto] Vérifier signature RSA-SHA1
    Par Donniebrasko dans le forum C++
    Réponses: 0
    Dernier message: 17/12/2008, 19h30
  4. Confirmation de signature RSA!
    Par clio671 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 04/11/2007, 22h06
  5. [VB.NET] Certificat de signature de manifeste ?
    Par cdie_cdie dans le forum Visual Studio
    Réponses: 4
    Dernier message: 02/11/2006, 09h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo