Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cat >> pdo.php <<'EOF'
- <?php
- // follow tutorial http://xmodulo.com/enable-ssl-mysql-server-client.html to create a ssl capable mysqld and place "require-secure-transport = on" in mysqld.conf to enforce SSL
- // creates database connection
- $user="root";
- $pass="password";
- $host="127.0.0.1";
- $port="3306";
- $database="test";
- $options = [
- PDO::MYSQL_ATTR_SSL_CA => '/etc/mysql/ssl/ca-cert.pem',
- PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false,
- ];
- function createDsn($host, $database, $port)
- {
- $string = "mysql:host=$host;dbname=$database;port=$port";
- return $string;
- }
- $dsn = createDsn($host, $database, $port);
- $pdo = new PDO($dsn, $user, $pass, $options);
- $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- ?>
- EOF
- cat >> keys.php <<'EOF'
- <?php
- // these are disposable test keys
- $pubkey = '-----BEGIN PUBLIC KEY-----
- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2BtDSLm4yoen5/6pWqlg
- ztfBr6fXylbMChjtzWNJOxan1VDYHUNberc6WM5S8pRaFXIlvgohnF41QYvW6ewW
- GGeKNvFysu76TyiWtBiBLPhLxm+qgDaZwsI0pBUSVp8rY7BZQ1WUuMWBUXU50tI9
- k3zwrniUf78bnK6EyoUG79gKbvqHFYnYWLLc0c4nAQMk6F3T01DdKNpmhU5x/GeW
- /ry7SSUtU+4fAGmhlIXK18xGWeR5rVo85JUXcKUiDVLpGlHxBBUJ6G92kVQCTH4b
- pmjMI4lF/kO2/TVQGsYv1x5dfARPYySEXTXD0k5hZvMvbvSxwgt1dQmI7GT3G82w
- kwIDAQAB
- -----END PUBLIC KEY-----';
- $privkey = '-----BEGIN RSA PRIVATE KEY-----
- MIIEogIBAAKCAQEA2BtDSLm4yoen5/6pWqlgztfBr6fXylbMChjtzWNJOxan1VDY
- HUNberc6WM5S8pRaFXIlvgohnF41QYvW6ewWGGeKNvFysu76TyiWtBiBLPhLxm+q
- gDaZwsI0pBUSVp8rY7BZQ1WUuMWBUXU50tI9k3zwrniUf78bnK6EyoUG79gKbvqH
- FYnYWLLc0c4nAQMk6F3T01DdKNpmhU5x/GeW/ry7SSUtU+4fAGmhlIXK18xGWeR5
- rVo85JUXcKUiDVLpGlHxBBUJ6G92kVQCTH4bpmjMI4lF/kO2/TVQGsYv1x5dfARP
- YySEXTXD0k5hZvMvbvSxwgt1dQmI7GT3G82wkwIDAQABAoIBACdZR3YNgw01iCgg
- 4XtFjf/7nyO5vvvzs/E+usYEBwiARoz7zG3/nr+Ib1JONyI+SuzOvPqOY7JSIQZP
- TRGI0DkfWTZJ3mWgR+lz7YTbVWH3z+xQ1s3Do1mn/OfHgnBNSRw8tvQguBSwuaw4
- WQ//AgFB5Z0PDZL5HDD6QemSMUIoUY5L4n7a+uBIPwp8COdZLGaTwpNySdkXmivn
- Dr7xh5XVl2+baQPp/ssS9OMihfvHNUYyJpzMg7hG2ai0LiwxeEyMzAfCF6yW7RQv
- AJAqYJZle8xb5uhHiOBt0LZRvZEJGmHW5FZxjD6RC6vsNQdsJ5pkRfTnU07EYdpH
- 4B8mnSkCgYEA60VSgATTrTI3SNKfq9yJ9+D1+ddpboF5y+tJZmv94MjgyFTVGSyM
- iZWNzGVPZe59HC9nSlzYOnaQ/ArHJG8IORau/gdEiLd3ey5fTe0bboGRR4wttI/p
- k/8JQwxOgbJ8GaYozkCC+pdR/0y9yA0L8wWD18cmDYKlBW9bgFCppA8CgYEA6yWt
- lqKVIvMZksedyvuVAYcBXd+RP69OK4ct0EoE9ON5tZ2aRY2rXgCmVFtEs2xcuNIM
- 1sdP/bxqOagIMQ4MdoT5q/HDc67BwXB4N7R4Q3MD9vCQ8A6N8U7oIJ5t/GMtQDCI
- q4/1YjYE19+FNV29S2rWgqQBROP2GkSkfz7X1z0CgYAcDwBv1COKnFqLjNMOJBcw
- QNwVF+OzEi38a+stE+QLUum7+qIPhoicQAHRRqPZfD/fhKfE7p27GzjfVkm5xqQs
- atAj66n4xCizwCwNlyGWZE13QviQeDlbNSddn7IdNbQnOvHS5063pCRbVkOsACJU
- sWuv6EhZhCM6KrW27+fLcQKBgDg5XBYmba5bngPAgvQjz278DtGZQSuPCQvTWJry
- 99huA43vTxHOW+kwEpUc9YJJKKpwXu2D3pZ21JdQnBTOnSBBj0kTl34zjNRpxfTb
- y92kxI/o2V7su/e0vEAAYZ/1Pr6YXDVZSHzhGatcIIewEDDWLNAz0rHcJ94EB6j9
- J7KpAoGANCixf6SDBdsn0YQ/AL8SthVxBo6LoBiL16OXOdA6DG8f5NB2obVS8Ks+
- 7BrY0WMgPgyoWgoHddS2So9Uy8FnVWOvi8AR0fLkMb8jMqp/Xcqk1wejGFkSv/xv
- /CasiktSOuimkTzvIj/qojN7lgEKDISOxHxixudZ7XBtyXHkHBM=
- -----END RSA PRIVATE KEY-----';
- EOF
- cat >> run.php <<'EOF'
- <?php
- // workaround for PHP bug #73978 "(openssl_decrypt triggers bug in PDO)"
- include("pdo.php");
- function processPlainText($plainText, $action) {
- include("keys.php");
- $cryptText = '';
- $res = 'encrypt' == $action ? openssl_get_privatekey($privkey) : openssl_get_publickey($pubkey);
- $action = 'encrypt' == $action ? 'openssl_private_' . $action : 'openssl_public_'.$action;
- $action($plainText, $cryptText, $res);
- // enable/disable workaround, and run multiple times with php7.0-cli and php7.1-cli
- // while(false !== openssl_error_string());
- openssl_free_key($res);
- return $cryptText;
- }
- $password1 = processPlainText("plaintext", 'encrypt');
- $query = $pdo->prepare("select 2+2;");
- $query->execute();
- $row = $query->fetch(PDO::FETCH_ASSOC);
- var_dump($row);
- $password2 = processPlainText("encrypted", 'decrypt');
- $query = $pdo->prepare("select 2+2;");
- $query->execute();
- $row = $query->fetch(PDO::FETCH_ASSOC);
- var_dump($row);
- EOF
Add Comment
Please, Sign In to add comment