mirror of
https://github.com/boostorg/beast.git
synced 2025-07-30 12:57:31 +02:00
@ -1,3 +1,9 @@
|
|||||||
|
Version 268:
|
||||||
|
|
||||||
|
* root_certificates.hpp is not for production
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
Version 267:
|
Version 267:
|
||||||
|
|
||||||
* Add package for Travis config
|
* Add package for Travis config
|
||||||
|
@ -13,14 +13,36 @@
|
|||||||
#include <boost/asio/ssl.hpp>
|
#include <boost/asio/ssl.hpp>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
/*
|
||||||
|
PLEASE READ
|
||||||
|
|
||||||
|
These root certificates here are included just to make the
|
||||||
|
SSL client examples work. They are NOT intended to be
|
||||||
|
illustrative of best-practices for performing TLS certificate
|
||||||
|
verification.
|
||||||
|
|
||||||
|
A REAL program which needs to verify the authenticity of a
|
||||||
|
server IP address resolved from a given DNS name needs to
|
||||||
|
consult the operating system specific certificate store
|
||||||
|
to validate the chain of signatures, compare the domain name
|
||||||
|
properly against the domain name in the certificate, check
|
||||||
|
the certificate revocation list, and probably do some other
|
||||||
|
things.
|
||||||
|
|
||||||
|
ALL of these operations are entirely outside the scope of
|
||||||
|
both Boost.Beast and Boost.Asio.
|
||||||
|
|
||||||
|
See (work in progress):
|
||||||
|
https://github.com/djarek/certify
|
||||||
|
|
||||||
|
tl;dr: root_certificates.hpp should not be used in production code
|
||||||
|
*/
|
||||||
|
|
||||||
namespace ssl = boost::asio::ssl; // from <boost/asio/ssl.hpp>
|
namespace ssl = boost::asio::ssl; // from <boost/asio/ssl.hpp>
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
// The template argument is gratuituous, to
|
inline
|
||||||
// allow the implementation to be header-only.
|
|
||||||
//
|
|
||||||
template<class = void>
|
|
||||||
void
|
void
|
||||||
load_root_certificates(ssl::context& ctx, boost::system::error_code& ec)
|
load_root_certificates(ssl::context& ctx, boost::system::error_code& ec)
|
||||||
{
|
{
|
||||||
@ -60,27 +82,7 @@ load_root_certificates(ssl::context& ctx, boost::system::error_code& ec)
|
|||||||
"vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep\n"
|
"vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep\n"
|
||||||
"+OkuE6N36B9K\n"
|
"+OkuE6N36B9K\n"
|
||||||
"-----END CERTIFICATE-----\n"
|
"-----END CERTIFICATE-----\n"
|
||||||
"-----BEGIN CERTIFICATE-----\n"
|
|
||||||
"MIIDaDCCAlCgAwIBAgIJAO8vBu8i8exWMA0GCSqGSIb3DQEBCwUAMEkxCzAJBgNV\n"
|
|
||||||
"BAYTAlVTMQswCQYDVQQIDAJDQTEtMCsGA1UEBwwkTG9zIEFuZ2VsZXNPPUJlYXN0\n"
|
|
||||||
"Q049d3d3LmV4YW1wbGUuY29tMB4XDTE3MDUwMzE4MzkxMloXDTQ0MDkxODE4Mzkx\n"
|
|
||||||
"MlowSTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMS0wKwYDVQQHDCRMb3MgQW5n\n"
|
|
||||||
"ZWxlc089QmVhc3RDTj13d3cuZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUA\n"
|
|
||||||
"A4IBDwAwggEKAoIBAQDJ7BRKFO8fqmsEXw8v9YOVXyrQVsVbjSSGEs4Vzs4cJgcF\n"
|
|
||||||
"xqGitbnLIrOgiJpRAPLy5MNcAXE1strVGfdEf7xMYSZ/4wOrxUyVw/Ltgsft8m7b\n"
|
|
||||||
"Fu8TsCzO6XrxpnVtWk506YZ7ToTa5UjHfBi2+pWTxbpN12UhiZNUcrRsqTFW+6fO\n"
|
|
||||||
"9d7xm5wlaZG8cMdg0cO1bhkz45JSl3wWKIES7t3EfKePZbNlQ5hPy7Pd5JTmdGBp\n"
|
|
||||||
"yY8anC8u4LPbmgW0/U31PH0rRVfGcBbZsAoQw5Tc5dnb6N2GEIbq3ehSfdDHGnrv\n"
|
|
||||||
"enu2tOK9Qx6GEzXh3sekZkxcgh+NlIxCNxu//Dk9AgMBAAGjUzBRMB0GA1UdDgQW\n"
|
|
||||||
"BBTZh0N9Ne1OD7GBGJYz4PNESHuXezAfBgNVHSMEGDAWgBTZh0N9Ne1OD7GBGJYz\n"
|
|
||||||
"4PNESHuXezAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCmTJVT\n"
|
|
||||||
"LH5Cru1vXtzb3N9dyolcVH82xFVwPewArchgq+CEkajOU9bnzCqvhM4CryBb4cUs\n"
|
|
||||||
"gqXWp85hAh55uBOqXb2yyESEleMCJEiVTwm/m26FdONvEGptsiCmF5Gxi0YRtn8N\n"
|
|
||||||
"V+KhrQaAyLrLdPYI7TrwAOisq2I1cD0mt+xgwuv/654Rl3IhOMx+fKWKJ9qLAiaE\n"
|
|
||||||
"fQyshjlPP9mYVxWOxqctUdQ8UnsUKKGEUcVrA08i1OAnVKlPFjKBvk+r7jpsTPcr\n"
|
|
||||||
"9pWXTO9JrYMML7d+XRSZA1n3856OqZDX4403+9FnXCvfcLZLLKTBvwwFgEFGpzjK\n"
|
|
||||||
"UEVbkhd5qstF6qWK\n"
|
|
||||||
"-----END CERTIFICATE-----\n";
|
|
||||||
/* This is the GeoTrust root certificate.
|
/* This is the GeoTrust root certificate.
|
||||||
|
|
||||||
CN = GeoTrust Global CA
|
CN = GeoTrust Global CA
|
||||||
@ -91,6 +93,27 @@ load_root_certificates(ssl::context& ctx, boost::system::error_code& ec)
|
|||||||
Thumbprint(sha1):
|
Thumbprint(sha1):
|
||||||
de 28 f4 a4 ff e5 b9 2f a3 c5 03 d1 a3 49 a7 f9 96 2a 82 12
|
de 28 f4 a4 ff e5 b9 2f a3 c5 03 d1 a3 49 a7 f9 96 2a 82 12
|
||||||
*/
|
*/
|
||||||
|
"-----BEGIN CERTIFICATE-----\n"
|
||||||
|
"MIIDaDCCAlCgAwIBAgIJAO8vBu8i8exWMA0GCSqGSIb3DQEBCwUAMEkxCzAJBgNV\n"
|
||||||
|
"BAYTAlVTMQswCQYDVQQIDAJDQTEtMCsGA1UEBwwkTG9zIEFuZ2VsZXNPPUJlYXN0\n"
|
||||||
|
"Q049d3d3LmV4YW1wbGUuY29tMB4XDTE3MDUwMzE4MzkxMloXDTQ0MDkxODE4Mzkx\n"
|
||||||
|
"MlowSTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMS0wKwYDVQQHDCRMb3MgQW5n\n"
|
||||||
|
"ZWxlc089QmVhc3RDTj13d3cuZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUA\n"
|
||||||
|
"A4IBDwAwggEKAoIBAQDJ7BRKFO8fqmsEXw8v9YOVXyrQVsVbjSSGEs4Vzs4cJgcF\n"
|
||||||
|
"xqGitbnLIrOgiJpRAPLy5MNcAXE1strVGfdEf7xMYSZ/4wOrxUyVw/Ltgsft8m7b\n"
|
||||||
|
"Fu8TsCzO6XrxpnVtWk506YZ7ToTa5UjHfBi2+pWTxbpN12UhiZNUcrRsqTFW+6fO\n"
|
||||||
|
"9d7xm5wlaZG8cMdg0cO1bhkz45JSl3wWKIES7t3EfKePZbNlQ5hPy7Pd5JTmdGBp\n"
|
||||||
|
"yY8anC8u4LPbmgW0/U31PH0rRVfGcBbZsAoQw5Tc5dnb6N2GEIbq3ehSfdDHGnrv\n"
|
||||||
|
"enu2tOK9Qx6GEzXh3sekZkxcgh+NlIxCNxu//Dk9AgMBAAGjUzBRMB0GA1UdDgQW\n"
|
||||||
|
"BBTZh0N9Ne1OD7GBGJYz4PNESHuXezAfBgNVHSMEGDAWgBTZh0N9Ne1OD7GBGJYz\n"
|
||||||
|
"4PNESHuXezAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCmTJVT\n"
|
||||||
|
"LH5Cru1vXtzb3N9dyolcVH82xFVwPewArchgq+CEkajOU9bnzCqvhM4CryBb4cUs\n"
|
||||||
|
"gqXWp85hAh55uBOqXb2yyESEleMCJEiVTwm/m26FdONvEGptsiCmF5Gxi0YRtn8N\n"
|
||||||
|
"V+KhrQaAyLrLdPYI7TrwAOisq2I1cD0mt+xgwuv/654Rl3IhOMx+fKWKJ9qLAiaE\n"
|
||||||
|
"fQyshjlPP9mYVxWOxqctUdQ8UnsUKKGEUcVrA08i1OAnVKlPFjKBvk+r7jpsTPcr\n"
|
||||||
|
"9pWXTO9JrYMML7d+XRSZA1n3856OqZDX4403+9FnXCvfcLZLLKTBvwwFgEFGpzjK\n"
|
||||||
|
"UEVbkhd5qstF6qWK\n"
|
||||||
|
"-----END CERTIFICATE-----\n";
|
||||||
;
|
;
|
||||||
|
|
||||||
ctx.add_certificate_authority(
|
ctx.add_certificate_authority(
|
||||||
@ -102,12 +125,6 @@ load_root_certificates(ssl::context& ctx, boost::system::error_code& ec)
|
|||||||
} // detail
|
} // detail
|
||||||
|
|
||||||
// Load the root certificates into an ssl::context
|
// Load the root certificates into an ssl::context
|
||||||
//
|
|
||||||
// This function is inline so that its easy to take
|
|
||||||
// the address and there's nothing weird like a
|
|
||||||
// gratuituous template argument; thus it appears
|
|
||||||
// like a "normal" function.
|
|
||||||
//
|
|
||||||
|
|
||||||
inline
|
inline
|
||||||
void
|
void
|
||||||
|
Reference in New Issue
Block a user