!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g. PHP/5.2.4-2ubuntu5.12 

uname -a: Linux forum.circlefusion.com 2.6.24-19-server #1 SMP Wed Jun 18 15:18:00 UTC 2008 i686 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/share/doc/libssl-dev/demos/   drwxr-xr-x
Free 11.58 GB of 97.11 GB (11.93%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     spkigen.c (3.72 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* NOCW */
/* demos/spkigen.c
 * 18-Mar-1997 - eay - A quick hack :-) 
 *         version 1.1, it would probably help to save or load the
 *        private key :-)
 */
#include <stdio.h>
#include <stdlib.h>
#include <openssl/err.h>
#include <openssl/asn1.h>
#include <openssl/objects.h>
#include <openssl/evp.h>
#include <openssl/x509.h>
#include <openssl/pem.h>

/* The following two don't exist in SSLeay but they are in here as
 * examples */
#define PEM_write_SPKI(fp,x) \
    PEM_ASN1_write((int (*)())i2d_NETSCAPE_SPKI,"SPKI",fp,\
            (char *)x,NULL,NULL,0,NULL)
int SPKI_set_pubkey(NETSCAPE_SPKI *x, EVP_PKEY *pkey);

/* These are defined in the next version of SSLeay */
int EVP_PKEY_assign(EVP_PKEY *pkey, int type,char *key);
#define RSA_F4    0x10001
#define EVP_PKEY_assign_RSA(pkey,rsa) EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\
                    (char *)(rsa))

int main(argc,argv)
int argc;
char *argv[];
    {
    RSA *rsa=NULL;
    NETSCAPE_SPKI *spki=NULL;
    EVP_PKEY *pkey=NULL;
    char buf[128];
    int ok=0,i;
    FILE *fp;

    pkey=EVP_PKEY_new();
     
    if (argc < 2)
        {
        /* Generate an RSA key, the random state should have been seeded
         * with lots of calls to RAND_seed(....) */
        fprintf(stderr,"generating RSA key, could take some time...\n");
        if ((rsa=RSA_generate_key(512,RSA_F4,NULL)) == NULL) goto err;
        }
    else
        {
        if ((fp=fopen(argv[1],"r")) == NULL)
            { perror(argv[1]); goto err; }
        if ((rsa=PEM_read_RSAPrivateKey(fp,NULL,NULL)) == NULL)
            goto err;
        fclose(fp);
        }
    
    if (!EVP_PKEY_assign_RSA(pkey,rsa)) goto err;
    rsa=NULL;

    /* lets make the spki and set the public key and challenge */
    if ((spki=NETSCAPE_SPKI_new()) == NULL) goto err;

    if (!SPKI_set_pubkey(spki,pkey)) goto err;

    fprintf(stderr,"please enter challenge string:");
    fflush(stderr);
    buf[0]='\0';
    fgets(buf,sizeof buf,stdin);
    i=strlen(buf);
    if (i > 0) buf[--i]='\0';
    if (!ASN1_STRING_set((ASN1_STRING *)spki->spkac->challenge,
        buf,i)) goto err;

    if (!NETSCAPE_SPKI_sign(spki,pkey,EVP_md5())) goto err;
    PEM_write_SPKI(stdout,spki);
    if (argc < 2)
        PEM_write_RSAPrivateKey(stdout,pkey->pkey.rsa,NULL,NULL,0,NULL);

    ok=1;
err:
    if (!ok)
        {
        fprintf(stderr,"something bad happened....");
        ERR_print_errors_fp(stderr);
        }
    NETSCAPE_SPKI_free(spki);
    EVP_PKEY_free(pkey);
    exit(!ok);
    }

/* This function is in the next version of SSLeay */
int EVP_PKEY_assign(pkey,type,key)
EVP_PKEY *pkey;
int type;
char *key;
    {
    if (pkey == NULL) return(0);
    if (pkey->pkey.ptr != NULL)
        {
        if (pkey->type == EVP_PKEY_RSA)
            RSA_free(pkey->pkey.rsa);
        /* else memory leak */
        }
    pkey->type=type;
    pkey->pkey.ptr=key;
    return(1);
    }

/* While I have a 
 * X509_set_pubkey() and X509_REQ_set_pubkey(), SPKI_set_pubkey() does
 * not currently exist so here is a version of it.
 * The next SSLeay release will probably have
 * X509_set_pubkey(),
 * X509_REQ_set_pubkey() and
 * NETSCAPE_SPKI_set_pubkey()
 * as macros calling the same function */
int SPKI_set_pubkey(x,pkey)
NETSCAPE_SPKI *x;
EVP_PKEY *pkey;
    {
    int ok=0;
    X509_PUBKEY *pk;
    X509_ALGOR *a;
    ASN1_OBJECT *o;
    unsigned char *s,*p;
    int i;

    if (x == NULL) return(0);

    if ((pk=X509_PUBKEY_new()) == NULL) goto err;
    a=pk->algor;

    /* set the algorithm id */
    if ((o=OBJ_nid2obj(pkey->type)) == NULL) goto err;
    ASN1_OBJECT_free(a->algorithm);
    a->algorithm=o;

    /* Set the parameter list */
    if ((a->parameter == NULL) || (a->parameter->type != V_ASN1_NULL))
        {
        ASN1_TYPE_free(a->parameter);
        a->parameter=ASN1_TYPE_new();
        a->parameter->type=V_ASN1_NULL;
        }
    i=i2d_PublicKey(pkey,NULL);
    if ((s=(unsigned char *)malloc(i+1)) == NULL) goto err;
    p=s;
    i2d_PublicKey(pkey,&p);
    if (!ASN1_BIT_STRING_set(pk->public_key,s,i)) goto err;
    free(s);

    X509_PUBKEY_free(x->spkac->pubkey);
    x->spkac->pubkey=pk;
    pk=NULL;
    ok=1;
err:
    if (pk != NULL) X509_PUBKEY_free(pk);
    return(ok);
    }


:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0206 ]--