zoukankan      html  css  js  c++  java
  • 关于PHP的 RSA加密函数openssl_pkey_get_private()/openssl_get_privatekey()返回false问题

    文档描述为:

    然而  openssl_pkey_get_private(AppSecret) 这一步将AppSecret传入返回false,之后在网上找了好久找到一个格式是可以正常返回的,但是在服务器上跑的时候又不返回参数了,而后又大费周折才找到一个都能用的格式!!

    前提需要先打开php.ini里的openssl。

    将私钥单独放在一个文件(private.pem)中(格式千万不要变,可以复制我的进去先尝试一下)

    private.pem文件:
    -----BEGIN RSA PRIVATE KEY-----
    MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAL9nq0MHciPvjVgC
    Ta2yEUm6enG9zDKLKTJC4HVhP1CYnwbgc29LU8ngxnQmpCizrpKeUsjBwNNmZ/aM
    23jEaPYgvh1FrtUblwtjPkZReSmhbsCAvqQYkh7Q6+fgUArmeSHkVBKIWoVGrF3K
    fL7T+aUEIUQ88dstAhknXXYqBHLnAgMBAAECgYEAujWTCfzecFOHQM3M4GTSKNZA
    dRNe6vUzuPATCl73h+NTIw+NfgLcmxQQPcOyBN75wS5B/4lvnLqN/fB/O/ho2wp8
    UzdGbXw0Tk3jc/MiRMfFU6oi6Km/Q0SxWjKngdFq3LHF+f1ue6/0rat6L5ukk/lh
    6h0OdcpF3u8kyMGznfECQQDu8uzez7+Hbqc51kfutm0jp8e8tkCwtjZoO5X36hmy
    mmbsJLitqToG2NSeuejJdZv+C52pgoBSGJUjNa8IqTLLAkEAzRA4Iv3/hlq7SEq/
    bOTl1unyPT2keR3XUgx076zGsbYOXL0ORlyeBkmLJVJBCdD95NLAciOHX13KX8yN
    paGQ1QJAcfiGiKP4i8V4l7qgJrj2h4owV89qPZ87hi3dkxki1rCUpM/DEnnkBn4H
    tAmigezJ0buCoOZxBDdbcybY7L2fTwJAfS5Ehp/1h8gFgfkXaFtHL237EYV6zPD5
    i73M+K7JUJzpoZVLjIpncUEd7zeKOnrZMwGwtzyXHBF+RAL0CUNazQJBAJTaWl3P
    4iP53O4EqXFJ1AQV7tqwa/7w48AioY9dCMLv/9kZe9sbB0OKo1O18bRVXgmpuxWI
    4pO4mcYESN+7/3w=
    -----END RSA PRIVATE KEY-----

    php代码:

    <?php
    
            $appId = xxx;//替换自己的
            $userId = xxx;//替换
            $private_content = file_get_contents(__DIR__.'/private.pem');
            if(!$private_key = openssl_pkey_get_private($private_content)){
                  die('error');
            }
            $original_str = 'appId='.$appId.'&userId='.$userId;
            openssl_sign($original_str,$sign,$private_key);
            openssl_free_key($private_key);
            echo $sign=base64_encode($sign);

    之前本地有返回而服务器上没有返回的时候我也想了许多原因 什么php版本啊 甚至连openssl.dll我都重新覆盖了一遍,最后确定是格式的问题。。怎么说呢 一路的坑真的很多吧。。。

  • 相关阅读:
    悄悄蒙上你的眼睛 后门程序知识完全解析 java程序员
    教你认识网页中五种隐形的危险病毒 java程序员
    安全知识 黑客是如何攻击电子邮件的 java程序员
    著名黑客工具CC攻击的思路及防范方法 java程序员
    Educational Codeforces Round 45 (Rated for Div. 2) G GCD Counting
    Dual Palindromes
    2012暑假集训内部测试赛1
    hdu4380Farmer Greedy(多校3)
    sdutCity Horizon(离散化)
    USACO1.22Transformations
  • 原文地址:https://www.cnblogs.com/lonmyblog/p/7886497.html
Copyright © 2011-2022 走看看