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

Bibliothèques tierces Python Discussion :

Certificat X509 et PKCS9


Sujet :

Bibliothèques tierces Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2020
    Messages : 3
    Par défaut Certificat X509 et PKCS9
    Bonjour, je sèche depuis quelques temps sur un problème de données que je dois signer avec un certificat X509, en mode PKCS9. J'ai un exemple de code en Java, mais rien en python.

    Merci par avance de votre aide. Voici le code Java que je cherche à reproduire, sachant que j'ai un certificat P12, que j'ai déjà transformé en .JKS, mais rien n'y fait...

    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
    using System.Security.Cryptography.X509Certificates;
    using System.Text;
    namespace CMSURLSample
    {
    	class Program
    	{
    		static void Main(string[] args)
    		{
    			string cmsMethod = "CMSURL";
    			string url = @"https://host/api/system/groups/1232";
    			var uri = new Uri(url);
    			string clientCertificatePath = @"C:\certificates\cert.p12";
    			string clientCertificatePassword = "test";
    			//Create X509Certificate from the client certificate provided
    			var certificate = new X509Certificate2(clientCertificatePath, clientCertificatePassword, X509KeyStorageFlags.PersistKeySet);
    			Byte[] signingData;
    			signingData = Encoding.UTF8.GetBytes(uri.AbsolutePath);// Use the absolute path of the URL for signing
    			// Create a detached digital signature for the message data.
    			var signedCms = new SignedCms(new ContentInfo(signingData), detached: true);
    			var signer = new CmsSigner(certificate) { IncludeOption = X509IncludeOption.EndCertOnly };
    			signer.SignedAttributes.Add(new Pkcs9SigningTime());
    			signedCms.ComputeSignature(signer); // Compute the signature
    			Byte[] signature = signedCms.Encode();
    			// cmsHeader need to be copied to the Authorization HTTP Header for authentication
    			string cmsHeader = cmsMethod + "`1" + " " + Convert.ToBase64String(signature);
    		}
    	}
    }

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Salut,

    Comme avec Java, il faut une bibliothèque externe pour faire le boulot.
    A priori, le module de cryptographie d'openssl devrait le faire... mais c'est vous qui codez (ou cherchez du code sur Internet).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2020
    Messages : 3
    Par défaut
    Merci, j'ai déjà fait des recherches sur le Net avec les termes python X509, python pkcs9, python X509 pkcs9... Je n'ai rien trouvé, et mes compétences Python sont loin de me permettre de faire ça.

    D'où cette demande

  4. #4
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    et bien apprenez (ou payez quelqu'un 🤷 )

    mes compétences Python sont loin de me permettre de faire ça
    Ah le fameux je ne trouve rien, un grand classique ... avec "python X509" j'ai trouvé plein de truc en rapport avec python et les certificats et ce en utilisant 3 moteurs de recherche différents
    3 cas possibles:
    • vous ne maîtrisez pas les moteurs de recherche
    • vous voulez faire un truc extrêmement spécifique
    • vous attendez que ça tombe tout cuit dans le gosier

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2020
    Messages : 3
    Par défaut
    Merci flapili pour cette réponse très constructive.

Discussions similaires

  1. Comment signer un fichier XML avec certificat X509 (.pfx)
    Par imad_eddine dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 08/03/2011, 10h27
  2. [Cryptographie][JNDI] Sauvegarder certificat X509
    Par Makineros63 dans le forum Sécurité
    Réponses: 2
    Dernier message: 05/05/2008, 09h05
  3. Accepter automatiquement un certificat X509
    Par kayanwan dans le forum ASP.NET
    Réponses: 3
    Dernier message: 16/11/2007, 00h41
  4. Construction de certificats X509
    Par KenPark dans le forum Sécurité
    Réponses: 2
    Dernier message: 12/07/2007, 13h50
  5. Récupérer le CN d'une certificat X509
    Par sfaxi dans le forum Apache
    Réponses: 1
    Dernier message: 30/05/2007, 19h01

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