MOON
Server: Apache/2.2.34 (Unix) mod_ssl/2.2.34 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 FrontPage/5.0.2.2635
System: Linux server.asjudinet.com 2.6.32-042stab141.3 #1 SMP Fri Nov 15 22:45:34 MSK 2019 i686
User: asjudine (504)
PHP: 5.2.17
Disabled: NONE
Upload Files
File: //scripts/validate_sshkey_passphrase
#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel - /usr/local/cpanel/scripts/validate_sshkey_passphrase
#                                                 Copyright(c) 2014 cPanel, Inc.
#                                                           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 $valid;
    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;