Server IP : 213.176.29.180  /  Your IP : 18.116.89.2
Web Server : Apache
System : Linux 213.176.29.180.hostiran.name 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
User : webtaragh ( 1001)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /../scripts/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //../scripts/validate_sshkey_passphrase
#!/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;