Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6748437
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T12:33:53+00:00 2026-05-26T12:33:53+00:00

I’m trying to figure out a way to use RSA in php. I’ve generated

  • 0

I’m trying to figure out a way to use RSA in php.

I’ve generated public and private keys with

ssh-keygen -t rsa

And now I’m trying to use those from my php code. Here’s the code I’m using:

<?php
$string=$_GET["i"];
//$fp=fopen ("public.pem","r");
$pub_key='ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtTLDrnS+MyPb/MGHzgcS90DgaoPiDNattlL0Xo7keAjfqz5/yCXU0L8ilkAWIwME5DdXK04MskRtupYPwxPGB4Y7bG/4wvArx5FEgDSq6FUMNvQZ/Vqj13uvcjadLctC2ypAUPRo39qO1IGLEDEWNOS49UgLxzfnr1dZF/Ox5m5UjhOjsALcTiv4eR6ClGcCrAHE7Jp5nL2BwVu46nx3eFlpe7cljQVUOQDgUa5yWaRoJE6qcYgQu1TDo6b/pcAWU1WVu+HzJY4g0aoV2VqamCnl3oyWoPz7ykvxbJbHv7/qTbV+IBNzSx4R7KSppvnPKsrbeiWROvZ4JF84leX+Iw== root@ip-10-83-11-72';

//fclose($fp);
$PK="";
$PK=openssl_get_publickey($pub_key);
if (!$PK) {
    echo "Cannot get public key";
    echo $pub_key;
}
$finaltext="";
openssl_public_encrypt($string,$finaltext,$PK);
if (!empty($finaltext)) {
    openssl_free_key($PK);
    echo "Encryption OK!";
    echo $finaltext;
    echo "<br/><br/><br/>";
}else{
    echo "Cannot Encrypt";
}

// STEP 2: Decription (Using Private Key)

//$fp=fopen ("private.pem","r");
$priv_key2='-----BEGIN RSA PRIVATE KEY-----
MIIEoAIBAAKCAQEAtTLDrnS+MyPb/MGHzgcS90DgaoPiDNattlL0Xo7keAjfqz5/
yCXU0L8ilkAWIwME5DdXK04MskRtupYPwxPGB4Y7bG/4wvArx5FEgDSq6FUMNvQZ
/Vqj13uvcjadLctC2ypAUPRo39qO1IGLEDEWNOS49UgLxzfnr1dZF/Ox5m5UjhOj
sALcTiv4eR6ClGcCrAHE7Jp5nL2BwVu46nx3eFlpe7cljQVUOQDgUa5yWaRoJE6q
cYgQu1TDo6b/pcAWU1WVu+HzJY4g0aoV2VqamCnl3oyWoPz7ykvxbJbHv7/qTbV+
IBNzSx4R7KSppvnPKsrbeiWROvZ4JF84leX+IwIBIwKCAQAparBiY9Oz6vB0SX4g
dqU/1FCNX/kngYbKlp5Bf78xYR0udK9+NIhqOlEMZmt1t4wW6BPspCAovy8GE6vU
0VHV1Yns5mS+189+EpNQgREfKWHgrNK9kQ+Btd71iNN4LnWucA6zaxCoMfTC28gD
s3LKQuhylB/zBXbI/gW8VPV2fzvFd35iA6QqNKWbjkaRd2y0TOv+RAcnCrYFwV5O
LscgjUNS2Hk8dlyXoneB8SqxiFzrXgSTihUelsoPQCj7mZLZ87UFF6sLU85gxoNT
tw0VoKD3Ve4poDEkWH28v39MCA/ZOPtNu68oimgVxRWyswvr2X9UvQ8joy2QaQZs
0mRLAoGBAN+dc6J8BgzmCr1yUQejU9nPAIFseH0Y+Jd/kHMV0CcSTnJwEak+6H5x
aTVQVNVMxdBd3xLG6GLYUWz01ptj3ubkO3qisqeVWvXhp7thHBaj640jV33jUY8p
eSrYVqPTDXGb+Jq56Tu0y+9sZeqXJBDeu2vLi7wlK2iAjQ9GHHYdAoGBAM9wtThH
LOEveuZ+PwY0qK1IMLsHuF049g3onUk+n6k3oPCBMmnllwCwMOAo2oJEKgFAtEOl
I5F9L6KsF7D1IUz1j+Mi578+pIQIndvp/aq1n5iBHSbHjpWhz6B6elcADzNbY5fy
FRlE9JshAIAiBmokN+Kb3rLZ4ShMBq0zsRE/AoGAOYBCTlpn9LAupb5PWbxIwvq2
/LV+EYoUCbMWg/5Ld8Lg+Nr9OiYehun2e2xtle8rjVn3iHxKYo9lZSkD/BJd45nG
JtlhI8dR53SKN39e/oHsHPp1lWZWzQqqIPXNIs/e4rMUCoeTvuVZAw0+x0tvrJEL
n2A53+xM/Z1mGd7UHl8CgYARx9UE0uaW9XDvL2R83/EzbJZ2bmBCgTmpa7W10irx
P0hPIQRSOEAkoWNGaebX9zbM6En3K2ly3tgyg8eEMkSu0zg4Ck5g2XvQzYnfpleS
ShT+cXeG+yl6ijZeNmJB+LDYhC0bpwkfbE97AtQoPW5DnLRVQI9uanJiiix1PvHr
iQKBgBj/RiXsDHvVJ28xZPUffZntrAD/TWXMHZWVMFgfsf8Ti0O7ypXqY43+Aoph
nfDH6xJFqU9azsiv5xQVY7X1h4+DuOamqdawIV5LtYod+ip0dxduQMfrqLld/p0m
E+jAaxvC4b6zqomFnZ9MB9eAzUg9i8UQkc4H3cH/bO6MKPG3
-----END RSA PRIVATE KEY-----
';//fread ($fp,8192);
//fclose($fp);
$PK2=openssl_get_privatekey($priv_key2);
$Crypted=openssl_private_decrypt($Data,$Decrypted,$PK2);
if (!$Crypted) {
    $MSG.="<p class='error'>Cannot Decrypt ($CCID).</p>";
}else{
    echo "Decrypted Data: " . $Decrypted;
}

At the end, the app crashes with:

Cannot get public key
Warning: openssl_public_encrypt() [function.openssl-public-encrypt]: key parameter is not a valid public key in /home/menkaur/public_html/iathao.com/bookmarks/lcn.php on line 13
Cannot Encrypt

what am I doing wrong?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T12:33:54+00:00Added an answer on May 26, 2026 at 12:33 pm

    The key that openssl uses is in PEM format. To generate it use the following code:

    openssl genrsa -des3 -out private.pem 1024
    

    It will generate a file called “private.pem”. Then you can generate the public key using:

    openssl rsa -in private.pem -out public.pem -outform PEM -pubout
    

    In PHP you can use these keys as follows:

    <?php
    
        $pub = file_get_contents('public.pem');
        $pk  = openssl_get_publickey($pub);
        if(!$pk) ...
    

    Then use your logic to do whatever you want.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm trying to decode HTML entries from here NYTimes.com and I cannot figure out
I am trying to understand how to use SyndicationItem to display feed which is
I have a string like this: La Torre Eiffel paragonata all&#8217;Everest What PHP function
this is what i have right now Drawing an RSS feed into the php,
I'm trying to use string.replace('’','') to replace the dreaded weird single-quote character: ’ (aka
I'm trying to create an if statement in PHP that prevents a single post
I'm new to using the Perl treebuilder module for HTML parsing and can't figure
Basically, what I'm trying to create is a page of div tags, each has
link Im having trouble converting the html entites into html characters, (&# 8217;) i
I want to count how many characters a certain string has in PHP, but

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.