Bonjour à tous
Etant novice, j'essaie d'utiliser le perl sur le 'terrain'.
Et j'ai besoin de vous car j'ai une fonctionnalité à mettre en place pour renouveler automatiquement des certificats avec notre entité en utilisant un webservice.
Pour cela, on doit s'appuyer sur un fichier csr que j'ai généré sur mon serveur linux.
Une doc nous donne un exemple du type Request :
Du coup, j'ai commencé un script en perl de la manière suivante
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 POST certif-ws-rest.domaine.com/certif-ws-rest/technical/api/v1/certificates { "csr" : "-----BEGIN CERTIFICATE REQUEST-----\nMIIDCDCCAfACAQAwgYsxABDmBgkqhkiG9w0BCQEWGWFuYXNzLmJvdWFsbG91QGlk\nZW1pYS5jb20xDjAMBgNVBAcTBVBhcmlzMREwDwYDVQQDEwhNWlBCQVIwMDEcMBoG \nA1UEChMTUFNBIFBldWdlb3QgQ2l0cm9lbjERMA8GA1UECxMIUHJvZ3JhbXMxCzAJ\nBgNVBAYTAkZSMIIBIjASXBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsgFc9HCg\nnHdzihBLeqVgqTbuteHB1OM4mdKILiSra0C1wxfujCL fK16eXJDoOs+gMO/LP4Ht\nlVygqFHCLhEhv1/E2yrerBjg28oJ9qXjzGme371aYcuMeq66h+CejdF/onTvGddy\ndFCiuYEwmiof7UtRGIFXyfnY7m9jg2tdDCQH8aTztjEd8oKGXn7HXDq/SyhHBiZP\noYqNLXV8MPW47+WUEg3jZZL Q8+J/fIGaif+Ah5LxEaHliY8LXXoLOq3DbUU8AgBN\njP3q64p68n2kajvLS2hIIPtPZ36IRge3THsdiCE+KKcdhZZkjhLrux+B3A7uvbVC\nKYSCeN9vaWaDRwIDAQABoDcwNQYJKoZIhvcNAQkOMSgwJjAkBgNVHREEHTAbgRlh\nbmF zcy5ib3VhbGxvdUBpZGVtaWEuY29tMA0GCSqGSIb3DQEBBQUAA4IBAQCgk29C\nPQZYQ3EScy116+LfCzmztHP0TQOHAu0KhxQugpXi5FSi/rJUJ462jltsHlu3/Z8O\nkxeXcdclOR7GssK7A0RokhIDDTiaz+aYEqI/eaMFtrBSUr95o COM2pO4Q2K8vtFB\nKFJ3ROISaflpkD0j5D2JJBCml4z4tuMNLP9HAlw+YY82nKOdWdPrqY7jKvYw7XnZ\nlsiVq0dDiEWL98CHpsc7qDi/xtCJetFKuqcVIXh06V2+sQT/nWUpOFkA/lRv1SAn\noT6TS6hwqc0zu6RFrO+FDEOEW1Oe9 XKsqf6PChsWIamHdNYXV9/oX0NItl0pjVQM\nF9aouZRjYznDFHJV\n-----END CERTIFICATE REQUEST-----", "format" : "PEM", "duration" : "730", "policy" : { "sdiCell" : "TESTCELL" } }
Est-ce que cela vous semble un bon début?
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
25 # Declaration of librairies used in this script use strict; use POSIX qw(strftime); use Switch; use Getopt::Std; use lib $ENV{UNXEXLIB}; use File::Copy; use Data::Dumper; use XML::Simple; use LWP::UserAgent; use MIME::Base64; use Term::ReadKey; use Net::FTP; my $json; my $req; my $cr; my $client = LWP::UserAgent->new; my $urlcertif='certif-ws-rest.domaine.com/certif-ws-rest/technical/api/v1/certificates '; %data = ( title => 'something', body => something else' ); my $ua = LWP::UserAgent->new(); my $request = HTTP::Request::Common::POST( $urlcertif, [ %data ] ); my $response = $ua->request($request);
J'ai un doute pour alimenter %data
Je pensais à le renseigner avec un fichier à plat que j'aurais généré en shell avec le contenu du csr.
Merci de votre aide
Partager