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 :
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" 
      } 
}
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
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);
Est-ce que cela vous semble un bon début?
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