Witam wszystkich ponownie po dłuższej przerwie,
Od pewnego czasu pracuję nad projektem systemu opartego na PHP. Nadszedł czas na dodanie funkcji, dzięki której "system" będzie wysyłał powiadomienia SMS. Moja firma ma podpisaną umowę z Plusem dlatego nie mogę próbować z innymi operatorami.
Zgodnie z dokumentacją API przesłaną od opiekuna biznesowego plusa utworzyłem (skopiowałem z dokumentacji) mały kodzik:
$Host = "https://api1.multiinfo.plus.pl/sendsms.aspx";
$ServiceID = "numer_usługi";
$Handler = curl_init();
$URI = $Host . "?login=".$Username."&pasword=".$Password."&serviceId=".$ServiceID."&dest=".$phone."&text=".$text;
curl_setopt($Handler, CURLOPT_URL, $URI);
curl_setopt($Handler, CURLOPT_HEADER, false);
curl_setopt($Handler, CURLOPT_SSLCERT, $Cert);
curl_setopt($Handler, CURLOPT_SSLCERTPASSWD, "hasło_do_klucza");
curl_setopt($Handler, CURLOPT_SSL_VERIFYPEER, false);
$this->Response = curl_exec($Handler);
if (curl_errno($Handler)) {
$Error = curl_error($Handler);
}
curl_close($Handler);
Gdzie $Cert zawiera lokalizację pliku certyfikatu w formacie *.pem
Po wywołaniu funkcji otrzymuję komunikat błędu:
• Jak nie podam hasła do certyfikatu to mam
error reading X.509 key or certificate file: The request is invalid.
• A jak podam hasło lub podam „puste” hasło to jest
error reading X.509 potentially-encrypted key file: The request is invalid.
Próbowałem również z plikiem *.cer oraz *.p12 jednak rezultat jest taki sam.
Czy macie może pomysł, w którym miejscu popełniłem błąd lub co może być przyczyną problemu?
Pozdrawiam, Mateusz