Server : Apache System : Linux 122.228.205.92.host.secureserver.net 5.14.0-362.18.1.el9_3.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Jan 29 07:05:48 EST 2024 x86_64 User : ondostategov ( 1002) PHP Version : 8.1.33 Disable Function : NONE Directory : /scripts/ |
#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel - scripts/validate_sshkey_passphrase Copyright 2022 cPanel, L.L.C.
# All rights reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
package scripts::validate_sshkey_passphrase;
use strict;
use Cpanel::Exception ();
use Cpanel::SSH::KeyBackend ();
use Cpanel::AdminBin::Serializer ();
use Try::Tiny;
__PACKAGE__->script(@ARGV) unless caller();
sub script {
my ( $class, @argv ) = @_;
local $/;
my $path = $argv[0];
#We purposely do NOT chomp() the $passphrase.
my $passphrase = readline( \*STDIN );
my $err;
my $response = { 'status' => 0 };
try {
$response->{'valid'} = Cpanel::SSH::KeyBackend::validate_key_passphrase( $path, $passphrase );
$response->{'status'} = 1;
}
catch {
$err = $_;
};
if ($err) {
$response->{'class'} = ( ref $err );
$response->{'error_string'} = Cpanel::Exception::get_string($err);
}
print Cpanel::AdminBin::Serializer::Dump($response);
return;
}
1;