Error Using PHP for iPhone APNS - php

I have been getting this error messages from my PHP code used to send message to the APNS...has anyone got faced the same issue?
Warning: stream_socket_client() [function.stream-socket-client]: SSL operation
failed with code 1. OpenSSL Error messages: error:14094410:SSL routines:
SSL3_READ_BYTES:sslv3 alert handshake failure in
/Library/WebServer/Documents/anish/apns/2.php on line 8
Warning: stream_socket_client() [function.stream-socket-client]: Failed to enable
crypto in /Library/WebServer/Documents/anish/apns/2.php on line 8
Warning: stream_socket_client() [function.stream-socket-client]: unable to connect
to ssl://gateway.sandbox.push.apple.com:2195 (Unknown error) in /Library/WebServer
/Documents/anish/apns/2.php on line 8
Failed to connect: 0
Warning: fclose(): supplied argument is not a valid stream resource in
/Library/WebServer/Documents/anish/apns/2.php on line 20*
Also it seems it always fails to connect to gateway.sandbox.push.apple.com. I even tried with PushMeBaby and it too fails to connect to gateway.sandbox.push.apple.com

the problem apparently was with the installation of certificates. If the certificate are installed properly, then everything works great like a charm..!

Related

Why fsockopen: Failed to enable crypto on smtp.gmail.com

On my Apache/2.4.37 server I use PHP 7.4.8 and 1.1.1c-15.el8 but when I use fsockopen on smtp.gmail.com(I tried both ports: 465 and 587) I get this error:
Warning: fsockopen(): SSL operation failed with code 1. OpenSSL Error messages: error:1408F10B:SSL routines:ssl3_get_record:wrong version number in /var/www/public_html/mail.php on line 9
Warning: fsockopen(): Failed to enable crypto in /var/www/public_html/mail.php on line 9
Warning: fsockopen(): unable to connect to tls://smtp.gmail.com:587 (Unknown error) in /var/www/public_html/mail.php on line 9
I use cloudflare, but there the MX records are set.
How can i fix this issue?

PHP (7.1) issue with mail , openssl , certificate

In the php.ini I have:
[openssl]
openssl.cafile= /etc/ssl/cert/mydomaincabundle.crt
this line allow email from PHP with SMTP to be sent from PHP es Wordpress or PHP application as i use mydomain.ext certificate.
Now that I need use composer I discovered this line generate SSL error when PHP app like composer try to download data. The error is:
file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
Failed to enable crypto
failed to open stream: operation failed
Now trying to download from source
If i remove the php.ini line
[openssl]
openssl.cafile= /etc/ssl/cert/mydomaincabundle.crt
this issue is solved but i start to see all PHP mail fail so applications like Wordpress etc are unable to send email.
How I can have mail working and also solve the PHP SSL issue?
If i remove the openssl line with the certificate email sent with SMTP SSL will fail.
Connection: opening to ssl://domain.it:465, timeout=300, options=array ()
Connection: Failed to connect to server. Error number 2. "Error notice: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
Connection: Failed to connect to server. Error number 2. "Error notice: stream_socket_client(): Failed to enable crypto
Connection: Failed to connect to server. Error number 2. "Error notice: stream_socket_client(): unable to connect to ssl://domain.it:465 (Unknown error)
SMTP ERROR: Failed to connect to server: (0)
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Thank you.
Solved https://github.com/composer/composer/issues/7797#issuecomment-440680491
In centos the position seems to be little bit different How to add Certificate Authority in centos7?
I found it on etc/pki/ca-trust/extracted/openssl

PHP: TLS socket not setting up using stream_socket_client()

I'm trying to open a TLS connection using this code:
<?php
$cafile = '/var/www/html/mosquitto/cert.pem';
$socketContext = stream_context_create(["ssl" => [
"verify_peer_name" => true,
"cafile" => $cafile
]]);
$socket = stream_socket_client("tls://xx.xx.xx.xx:8883", $errno, $errstr, 60, STREAM_CLIENT_CONNECT, $socketContext);
if (!$socket) {
print("Error: ".$errstr);
return false;
}else{
print("Connection Opened");
}
?>
Nginx error log:
2018/02/08 17:40:28 [error] 1331#1331: *658 FastCGI sent in stderr: "PHP message: PHP Warning: stream_socket_client(): SSL operation $
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed in /var/www/html/test.php on line 10
PHP message: PHP Warning: stream_socket_client(): Failed to enable crypto in /var/www/html/test.php on line 10
PHP message: PHP Warning: stream_socket_client(): unable to connect to tls://xx.xx.xx.xx:8883 (Unknown error) in /var/www/html/test.$
This is always getting in error section !$socket but without any error string. It's just Error:. How can I fix this issue? I'm speculating cert.pem file may be the issue. What file do I need to put there?
Thanks!
How can I fix this issue?
That's going to be very hard until you know what the issue is.
Clearly tackling the problem using stream_socket_client is not working and is not giving you any useful diagnostic information. You need to breakdown what this call is doing and test each part in isolation.
Does 'xx.xx.xx.xx' represent an IP address or a hostname? If it's the latter you may have issues with resolution. Try dns_get_record() If its the former, how do you expect to validate the subject of the certificate?
Can you connect on port 8883? Try fsockopen()
Is SSL working?
Can you negotiate a cypher
Is the certificate valid
is the certificate signed by a CA in your certs.pem file
You can check these from the command line with openssl s_client
Update
From your edit: certificate verify failed - see note above regarding IP address and certificate vlidation

fsockopen(): SSL operation failed with code 1. OpenSSL Error messages: error:1416F086

Warning: fsockopen(): SSL operation failed with code 1.
OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed in D:\vhosts\abc.com\httpdocs\system\library\mail.php on line 170
Warning: fsockopen(): Failed to enable crypto in D:\vhosts\abc.com\httpdocs\system\library\mail.php on line 170
Warning: fsockopen(): unable to connect to ssl://smtp.gmail.com:465 (Unknown error) in D:\vhosts\abc.com\httpdocs\system\library\mail.php on line 170
Notice: Error: (0) in D:\vhosts\abc.com\httpdocs\system\library\mail.php on line 179
My client's website is unable to send out email and above are the error messages when I use SMTP.
Below are the differences between test and live environments:
It works on testing environment but not on the live server. The testing environment was in linux and the live server is on Windows.
My client's email service provider is Google G Suite.
I tried the default PHP mail() and also SMTP.
Both are unable to send mail.
Any idea what is the root cause of these issues. How do I fix it? How to avoid this kind of scenarios?

file_get_contents not working in ubuntu and windows

i am having a problem with PHP file_get_contents.i am trying to fetch inforamtion following url but is not getting information.it's showing following error.i have try curl code also but same error is displayed
PHP Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:
error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure in /home/tshah/public_html/pramod/expressdecorViolation/classes/scrap1.php on line 83
PHP Warning: file_get_contents(): Failed to enable crypto in /home/tshah/public_html/pramod/expressdecorViolation/classes/scrap1.php on line 83
PHP Warning: file_get_contents(http://www.overstock.com/Home-Garden/Kraus-30-inch-Undermount-Single-Bowl-Steel-Kitchen-Sink/3381330/customer-reviews.html?rsort=1): failed to open stream: operation failed
mycode is:
$link = 'http://www.overstock.com/Home-Garden/Kraus-30-inch-Undermount-Single-Bowl-Steel-Kitchen-Sink/3381330/customer-reviews.html?rsort=1';
$Page_information = file_get_contents($link);
print_r($Page_information);

Categories