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

ASP.NET Discussion :

Problème decryptage valeur


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut Problème decryptage valeur
    Bonjour,

    Dans ma base de donnees j'ai un champ crypte par certificat et cle symetrique (au niveau SQL). Le cryptage et le decryptage fonctionnent parfaitement en SQL.

    Le probleme se situe donc au niveau .NET Lorsque je fais appelle a ma procedure stockee qui me recupere la valeur decryptee dans un champ, j'obtiens le message d'erreur suivant:
    Invalid format specification: '%S_MSG%S_MSG%.*ls'
    Pour verifier que le probleme ne vient pas du SQL, j'ai enlever la partie decryptage dans ma procedure stockee. Et la ca marchait parfaitment. On dirais que .NET n'aime pas l'ouverture de ma cle symetrique... Voici le code SQL en question:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    OPEN SYMMETRIC KEY SensitiveDataSymmetricKey
    DECRYPTION BY CERTIFICATE EmployeeDataCertificate
     
    SELECT DISTINCT
    	CONVERT(NVARCHAR(50),DECRYPTBYKEY(Answer)) AS Answer
    FROM 
    	tblTestDecrypt
    WHERE 
    	UserID = @UserID

    Est-ce que vous avez une idee de comment resoudre ce probleme ?

  2. #2
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bonjour,

    As-tu également le code d'erreur SQL Server lors de l'exception ? Cela permettrait bien plus facilement de déterminer d'où vient le problème.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    Non aucun probleme cote SQL. Tout s'execute parfaitement si je passe par une requete dans SQL Management Studio

  4. #4
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bonjour,

    Là comme ça je ne sais pas. Mais pourquoi avoir posé une telle question sur le forum ASP.NET ?

    Demande à ce que soit déplacé ton post dans le bon forum, tu auras plus de réponses.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    Bonjour !

    Et bien en fait j'ai bien peur que ce soit le probleme vienne du .NET car en SQL je n'ai aucunes erreures qui apparaissent lorsque j'execute ma proc stock ...

    Est-ce que le probleme pourrait venir du fait que j'execute ma procedure stockee en utilisant ExecuteNonQuery() ??

    Bonne journee !

  6. #6
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Citation Envoyé par peaceandloveman01 Voir le message
    Et bien en fait j'ai bien peur que ce soit le probleme vienne du .NET car en SQL
    Même la cause est ton code C# ou Vb, ce n'est pas de l'ASP.NET quand même.

    Citation Envoyé par peaceandloveman01 Voir le message
    Est-ce que le probleme pourrait venir du fait que j'execute ma procedure stockee en utilisant ExecuteNonQuery() ??
    Y a des chances oui

    ExecuteNonQuey... n'est pas fait pour te renvoyer une valeur, or c'est ce que tu fais avec ta procédure stockée.

    Essaye ExecuteQuery. Si ça ne marche pas, poste ici le code .Net qui appelle la prod stock (j'aurais du commencer par là )

    En espérant t'avoir aidé.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    En fait j'ai une fonction faite "maison" qui execute la procedure stockee et me retourne la valeur en utilisant une variable OUTPUT dans la proc stoc.

    Si ca t'interesse:
    Code : 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
    ...
    _Connection = New SqlConnection(_ConnectionString)
     
    _Command = New SqlCommand(SPName, _Connection)
    _Command.CommandType = CommandType.StoredProcedure
    _Command.CommandTimeout = CommandTimeout
     
    Do While (usedEnumerator.MoveNext())
         _Parameter = Nothing
         _Parameter = usedEnumerator.Current
         _Command.Parameters.Add(_Parameter)
    Loop
    _ParameterList.Clear()
     
    _Connection.Open()
    _Command.ExecuteNonQuery()
     
    For Each _ParameterOut In _Command.Parameters
           If _ParameterOut.Direction = ParameterDirection.Output Or  _ParameterOut.Direction = ParameterDirection.ReturnValue Then
            outputParameters.Add(_ParameterOut.ParameterName, _ParameterOut.Value)
           End If
    Next
     
     Return outputParameters

    Le probleme venait du compte que j'utilise en local pour tester l'application:
    j'ai un compte special en local (toto) auquel je n'avais pas donne l'autorisation de consulter mon certificat sur le serveur SQL...

    Merci quand meme pour l'aide ! Et a bientot

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

Discussions similaires

  1. Problème de valeur nulle
    Par romulus34 dans le forum Access
    Réponses: 11
    Dernier message: 21/10/2005, 15h18
  2. Problème de valeur
    Par Kerod dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 22/09/2005, 17h00
  3. Problème de valeur de retour de MessageDlg
    Par Pill_S dans le forum Composants VCL
    Réponses: 9
    Dernier message: 20/08/2005, 15h44
  4. problème récupération valeur d'un "div"
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 29/06/2005, 10h04
  5. Problème de valeur null dans un recordset
    Par Petzouille57 dans le forum Access
    Réponses: 3
    Dernier message: 19/05/2005, 11h27

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