Signatur
Beschreibung
rnp_backend_version() ist Teil der RNP-Erweiterung (ext-rnp), die PHP-Bindings für die librnp-Bibliothek bereitstellt. Die Funktion liefert die genaue Versionsnummer der kryptographischen Backend-Bibliothek, auf der librnp aufgebaut ist – typischerweise Botan oder OpenSSL.
Der Rückgabewert ist nützlich, um zur Laufzeit zu prüfen, mit welcher Backend-Version die Anwendung arbeitet. Dies kann für Kompatibilitätsprüfungen, Fehlerdiagnosen oder Sicherheitsaudits relevant sein, da bestimmte kryptographische Algorithmen oder Funktionen je nach Backend-Version unterschiedlich unterstützt werden.
Die Funktion benötigt keine Parameter und gibt stets einen String zurück, solange die RNP-Erweiterung korrekt geladen ist. Zusammen mit rnp_backend_string() lässt sich so eine vollständige Identifikation des verwendeten Kryptographie-Backends durchführen.
Rückgabewert
"3.4.0" für Botan oder "1.1.1n" für OpenSSL.Beispiele
Backend-Version ausgeben
<?php
// Version der verwendeten Kryptographie-Backend-Bibliothek ermitteln
$backendName = rnp_backend_string();
$backendVersion = rnp_backend_version();
echo "Kryptographisches Backend: " . $backendName . PHP_EOL;
echo "Backend-Version: " . $backendVersion . PHP_EOL;
Mindestversion des Backends prüfen
<?php
// Sicherstellen, dass eine Mindestversion des Backends vorhanden ist
$requiredVersion = '3.0.0';
$backendVersion = rnp_backend_version();
if (version_compare($backendVersion, $requiredVersion, '>=')) {
echo "Backend-Version " . $backendVersion . " erfüllt die Mindestanforderung." . PHP_EOL;
} else {
echo "Warnung: Backend-Version " . $backendVersion
. " ist älter als die erforderliche Version " . $requiredVersion . "." . PHP_EOL;
}
// Wichtig · Fallstricke
Die Funktion ist nur verfügbar, wenn die PHP-Erweiterung ext-rnp installiert und geladen ist. Ohne diese Erweiterung führt der Aufruf zu einem fatalen Fehler. Die Verfügbarkeit lässt sich mit extension_loaded('rnp') prüfen.
Beachte, dass die Versionszeichenkette je nach verwendetem Backend unterschiedlich formatiert sein kann – eine direkte Verarbeitung mit version_compare() funktioniert in den meisten Fällen, sollte aber bei ungewöhnlichen Versionsformaten mit einem Fallback abgesichert werden.