HEX
Server: LiteSpeed
System: Linux pro.primaryservers.com 4.18.0-553.83.1.lve.el8.x86_64 #1 SMP Wed Nov 12 10:04:12 UTC 2025 x86_64
User: dcurelif (1225)
PHP: 8.2.29
Disabled: symlink,apache_child_terminate,apache_setenv,define_syslog_variables,eval,exec,fp,fput,ftp_exec,highlight_file,inject_code,mysql_pconnect,dl,openlog,passthru,phpAds_remoteInfo,phpAds_XmlRpc,phpAds_xmlrpcDecode,phpAds_xmlrpcEncode,popen,posix_getpwuid,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,posix_setuid,posix_uname,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,syslog,system,xmlrpc_entity_decode,show_source,escapeshellarg,escapeshellcmd
Upload Files
File: //scripts/updatesigningkey
#!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/updatesigningkey                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 updatesigningkey;

use strict;

use Cpanel::Crypt::GPG::VendorKeys ();
use Cpanel::Usage                  ();

sub main {
    my @argv = @_;
    my ( $force, $noverify, $url, $vendor, $category );
    my $opts = {
        noverify => \$noverify,
        url      => \$url,
        vendor   => \$vendor,
        category => \$category,
        force    => \$force,
    };

    if ( Cpanel::Usage::wrap_options( \@argv, \&usage, $opts ) ) {
        return 0;
    }

    my $key;

    if ( $url || $vendor || $category ) {
        if ( $url && $vendor && $category ) {
            $key = [
                {
                    url      => $url,
                    vendor   => $vendor,
                    category => $category,
                },
            ];
        }
        else {
            print "URL, Vendor, and Category must all be specified.";
            return 1;
        }
    }

    my $s = Cpanel::Crypt::GPG::VendorKeys::download_public_keys(
        noverify => $noverify,
        keys     => $key,
        force    => $force,
    );

    return $s ? 0 : 1;
}

sub usage {
    print <<USAGE;
updatesigningkey <options>

    This script grabs the cPanel signing keys and inserts them into the vendor
    keychain used to validate assets downloaded from the cPanel mirrors.

Options:

    --help        Brief help message

    --noverify    Disables SSL hostname verification.

    --url         URL to fetch ascii armored keys from.

    --vendor      Key vendor.

    --category    Key category.

    --force       Force Key Refresh

USAGE
    return;
}

unless ( caller() ) {
    exit main(@ARGV);
}

1;