我正在为嵌入式Linux设备添加HTTPS支持.我尝试使用以下步骤生成自签名证书:
openssl req -new > cert.csr
openssl rsa -in privkey.pem -out key.pem
openssl x509 -in cert.csr -out cert.pem -req -signkey key.pem -days 1001
cat key.pem>>cert.pem
Run Code Online (Sandbox Code Playgroud)
这有效,但我在使用Google Chrome时遇到了一些错误:
这可能不是您要找的网站!
该网站的安全证书不受信任!
我错过了什么吗?这是构建自签名证书的正确方法吗?
在我的搜索过程中,我找到了几种签署SSL证书签名请求的方法:
使用x509模块:
openssl x509 -req -days 360 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt
Run Code Online (Sandbox Code Playgroud)使用ca模块:
openssl ca -cert ca.crt -keyfile ca.key -in server.csr -out server.crt
Run Code Online (Sandbox Code Playgroud)注意:我不确定是否使用了正确的参数.如果我要使用它,请告知正确的用法.
应该使用哪种方式与证书颁发机构签署证书请求?一种方法比另一种方法更好(例如,一种方法被弃用)?
stream_socket_enable_crypto(): SSL operation failed with code 1.
OpenSSL Error messages: error:14090086:SSL
routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Run Code Online (Sandbox Code Playgroud)
我使用的是Laravel 4.2,PHP 5.6,Apache 2.4
我在Amazon ec2 Linux中安装了GoDaddy SSL.
当我使用https访问该网站时,SSL工作正常.
我调用我的函数时发生错误:
<?php
public function sendEmail()
{
\Mail::send ( 'emails.code.code', $data, function ($sendemail) use($email) {
$sendemail->from ( 'info@me.com', 'Me Team' );
$sendemail->to ( $email, '' )->subject ( 'Activate your account' );
} );
}
?>
Run Code Online (Sandbox Code Playgroud)
我读了一些关于这个的文章,他们说有些东西我们应该做一些改变,他们把那些代码但是我不知道在哪里插入它.
读过这篇文章:https://www.mimar.rs/en/sysadmin/2015/php-5-6-x-ssltls-peer-certificates-and-hostnames-verified-by-default/
和http://php.net/manual/en/migration56.openssl.php这个文档很难理解.
所以我的问题是如何解决这个问题?
openssl ×2
ssl ×2
amazon-ec2 ×1
apache2.4 ×1
ca ×1
certificate ×1
csr ×1
laravel-4 ×1
php-5.6 ×1