Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf264f25

Browse files
committed
Update to documentation/add example
Created a simple exampleUptate to the documentation based on created simple ssl serverSmall bugfix to allow clean shutdown of server without warnings whenusing basic ssl (no client authentication)
1 parentc8908c1 commitf264f25

File tree

9 files changed

+233
-42
lines changed

9 files changed

+233
-42
lines changed

‎boost/network/protocol/stream_handler.hpp‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,9 @@ namespace boost { namespace network {
114114
{
115115
try {
116116
if(ssl_enabled) {
117-
returnssl_sock_->shutdown();
117+
ssl_sock_->shutdown(e);
118118
}else {
119-
returntcp_sock_->shutdown(boost::asio::ip::tcp::socket::shutdown_send);
119+
tcp_sock_->shutdown(boost::asio::ip::tcp::socket::shutdown_send,e);
120120
}
121121
}catch(const boost::system::error_code & e) {
122122
std::cerr << e.message() << std::endl;

‎libs/network/doc/html/_sources/reference/http_server.txt‎

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -537,27 +537,29 @@ used are defined in the link.
537537

538538
.. code-block:: c++
539539

540-
boost::shared_ptr<boost::asio::ssl::context> ctx = boost::make_shared<boost::asio::ssl::context>(boost::asio::ssl::context::sslv23);
541-
ctx->set_options(
542-
boost::asio::ssl::context::default_workarounds
543-
| boost::asio::ssl::context::no_sslv2
544-
| boost::asio::ssl::context::single_dh_use);
545-
context_.set_password_callback(boost::bind(&server::get_password, this));
546-
context_.use_certificate_chain_file("server.pem");
547-
context_.use_private_key_file("server.pem", boost::asio::ssl::context::pem);
548-
context_.use_tmp_dh_file("dh512.pem");
540+
// Initialize SSL context
541+
boost::shared_ptr<boost::asio::ssl::context> ctx = boost::make_shared<boost::asio::ssl::context>(boost::asio::ssl::context::sslv23);
542+
ctx->set_options(
543+
boost::asio::ssl::context::default_workarounds
544+
| boost::asio::ssl::context::no_sslv2
545+
| boost::asio::ssl::context::single_dh_use);
546+
547+
// Set keys
548+
ctx->set_password_callback(password_callback);
549+
ctx->use_certificate_chain_file("server.pem");
550+
ctx->use_private_key_file("server.pem", boost::asio::ssl::context::pem);
551+
ctx->use_tmp_dh_file("dh512.pem");
549552

550553
handler_type handler;
551554
http_server::options options(handler);
552555
options.thread_pool(boost::make_shared<boost::network::utils::thread_pool>(2));
553-
http_server server(options.address("127.0.0.1").port("8000").context(ctx));
556+
http_server server(options.address("127.0.0.1").port("8442").context(ctx));
554557

555558

556559
.. code-block:: c++
557560

558-
std::string get_password() const
559-
{
560-
return "test";
561+
std::string password_callback(std::size_t max_length, boost::asio::ssl::context_base::password_purpose purpose) {
562+
return std::string("test");
561563
}
562564

563565
.. _Boost.Range: http://www.boost.org/libs/range

‎libs/network/doc/html/objects.inv‎

-1 Bytes
Binary file not shown.

‎libs/network/doc/html/reference/http_server.html‎

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -659,25 +659,27 @@ <h2>Adding SSL support to Asynchronous Server<a class="headerlink" href="#adding
659659
a regular Asynchronous Server (see above). Once this server is setup, SSL can be
660660
enabled by adding a<aclass="reference external"href="http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/reference/ssl__context.html">Boost.Asio.Ssl.Context</a> to the options. The settings that can be
661661
used are defined in the link.</p>
662-
<divclass="highlight-c++"><divclass="highlight"><pre><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">shared_ptr</span><spanclass="o">&lt;</span><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">asio</span><spanclass="o">::</span><spanclass="n">ssl</span><spanclass="o">::</span><spanclass="n">context</span><spanclass="o">&gt;</span><spanclass="n">ctx</span><spanclass="o">=</span><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">make_shared</span><spanclass="o">&lt;</span><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">asio</span><spanclass="o">::</span><spanclass="n">ssl</span><spanclass="o">::</span><spanclass="n">context</span><spanclass="o">&gt;</span><spanclass="p">(</span><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">asio</span><spanclass="o">::</span><spanclass="n">ssl</span><spanclass="o">::</span><spanclass="n">context</span><spanclass="o">::</span><spanclass="n">sslv23</span><spanclass="p">);</span>
663-
<spanclass="n">ctx</span><spanclass="o">-&gt;</span><spanclass="n">set_options</span><spanclass="p">(</span>
664-
<spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">asio</span><spanclass="o">::</span><spanclass="n">ssl</span><spanclass="o">::</span><spanclass="n">context</span><spanclass="o">::</span><spanclass="n">default_workarounds</span>
665-
<spanclass="o">|</span><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">asio</span><spanclass="o">::</span><spanclass="n">ssl</span><spanclass="o">::</span><spanclass="n">context</span><spanclass="o">::</span><spanclass="n">no_sslv2</span>
666-
<spanclass="o">|</span><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">asio</span><spanclass="o">::</span><spanclass="n">ssl</span><spanclass="o">::</span><spanclass="n">context</span><spanclass="o">::</span><spanclass="n">single_dh_use</span><spanclass="p">);</span>
667-
<spanclass="n">context_</span><spanclass="p">.</span><spanclass="n">set_password_callback</span><spanclass="p">(</span><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">bind</span><spanclass="p">(</span><spanclass="o">&amp;</span><spanclass="n">server</span><spanclass="o">::</span><spanclass="n">get_password</span><spanclass="p">,</span><spanclass="k">this</span><spanclass="p">));</span>
668-
<spanclass="n">context_</span><spanclass="p">.</span><spanclass="n">use_certificate_chain_file</span><spanclass="p">(</span><spanclass="s">&quot;server.pem&quot;</span><spanclass="p">);</span>
669-
<spanclass="n">context_</span><spanclass="p">.</span><spanclass="n">use_private_key_file</span><spanclass="p">(</span><spanclass="s">&quot;server.pem&quot;</span><spanclass="p">,</span><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">asio</span><spanclass="o">::</span><spanclass="n">ssl</span><spanclass="o">::</span><spanclass="n">context</span><spanclass="o">::</span><spanclass="n">pem</span><spanclass="p">);</span>
670-
<spanclass="n">context_</span><spanclass="p">.</span><spanclass="n">use_tmp_dh_file</span><spanclass="p">(</span><spanclass="s">&quot;dh512.pem&quot;</span><spanclass="p">);</span>
662+
<divclass="highlight-c++"><divclass="highlight"><pre><spanclass="c1">// Initialize SSL context</span>
663+
<spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">shared_ptr</span><spanclass="o">&lt;</span><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">asio</span><spanclass="o">::</span><spanclass="n">ssl</span><spanclass="o">::</span><spanclass="n">context</span><spanclass="o">&gt;</span><spanclass="n">ctx</span><spanclass="o">=</span><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">make_shared</span><spanclass="o">&lt;</span><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">asio</span><spanclass="o">::</span><spanclass="n">ssl</span><spanclass="o">::</span><spanclass="n">context</span><spanclass="o">&gt;</span><spanclass="p">(</span><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">asio</span><spanclass="o">::</span><spanclass="n">ssl</span><spanclass="o">::</span><spanclass="n">context</span><spanclass="o">::</span><spanclass="n">sslv23</span><spanclass="p">);</span>
664+
<spanclass="n">ctx</span><spanclass="o">-&gt;</span><spanclass="n">set_options</span><spanclass="p">(</span>
665+
<spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">asio</span><spanclass="o">::</span><spanclass="n">ssl</span><spanclass="o">::</span><spanclass="n">context</span><spanclass="o">::</span><spanclass="n">default_workarounds</span>
666+
<spanclass="o">|</span><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">asio</span><spanclass="o">::</span><spanclass="n">ssl</span><spanclass="o">::</span><spanclass="n">context</span><spanclass="o">::</span><spanclass="n">no_sslv2</span>
667+
<spanclass="o">|</span><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">asio</span><spanclass="o">::</span><spanclass="n">ssl</span><spanclass="o">::</span><spanclass="n">context</span><spanclass="o">::</span><spanclass="n">single_dh_use</span><spanclass="p">);</span>
668+
669+
<spanclass="c1">// Set keys</span>
670+
<spanclass="n">ctx</span><spanclass="o">-&gt;</span><spanclass="n">set_password_callback</span><spanclass="p">(</span><spanclass="n">password_callback</span><spanclass="p">);</span>
671+
<spanclass="n">ctx</span><spanclass="o">-&gt;</span><spanclass="n">use_certificate_chain_file</span><spanclass="p">(</span><spanclass="s">&quot;server.pem&quot;</span><spanclass="p">);</span>
672+
<spanclass="n">ctx</span><spanclass="o">-&gt;</span><spanclass="n">use_private_key_file</span><spanclass="p">(</span><spanclass="s">&quot;server.pem&quot;</span><spanclass="p">,</span><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">asio</span><spanclass="o">::</span><spanclass="n">ssl</span><spanclass="o">::</span><spanclass="n">context</span><spanclass="o">::</span><spanclass="n">pem</span><spanclass="p">);</span>
673+
<spanclass="n">ctx</span><spanclass="o">-&gt;</span><spanclass="n">use_tmp_dh_file</span><spanclass="p">(</span><spanclass="s">&quot;dh512.pem&quot;</span><spanclass="p">);</span>
671674

672675
<spanclass="n">handler_type</span><spanclass="n">handler</span><spanclass="p">;</span>
673676
<spanclass="n">http_server</span><spanclass="o">::</span><spanclass="n">options</span><spanclass="n">options</span><spanclass="p">(</span><spanclass="n">handler</span><spanclass="p">);</span>
674677
<spanclass="n">options</span><spanclass="p">.</span><spanclass="n">thread_pool</span><spanclass="p">(</span><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">make_shared</span><spanclass="o">&lt;</span><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">network</span><spanclass="o">::</span><spanclass="n">utils</span><spanclass="o">::</span><spanclass="n">thread_pool</span><spanclass="o">&gt;</span><spanclass="p">(</span><spanclass="mi">2</span><spanclass="p">));</span>
675-
<spanclass="n">http_server</span><spanclass="nf">server</span><spanclass="p">(</span><spanclass="n">options</span><spanclass="p">.</span><spanclass="n">address</span><spanclass="p">(</span><spanclass="s">&quot;127.0.0.1&quot;</span><spanclass="p">).</span><spanclass="n">port</span><spanclass="p">(</span><spanclass="s">&quot;8000&quot;</span><spanclass="p">).</span><spanclass="n">context</span><spanclass="p">(</span><spanclass="n">ctx</span><spanclass="p">));</span>
678+
<spanclass="n">http_server</span><spanclass="nf">server</span><spanclass="p">(</span><spanclass="n">options</span><spanclass="p">.</span><spanclass="n">address</span><spanclass="p">(</span><spanclass="s">&quot;127.0.0.1&quot;</span><spanclass="p">).</span><spanclass="n">port</span><spanclass="p">(</span><spanclass="s">&quot;8442&quot;</span><spanclass="p">).</span><spanclass="n">context</span><spanclass="p">(</span><spanclass="n">ctx</span><spanclass="p">));</span>
676679
</pre></div>
677680
</div>
678-
<divclass="highlight-c++"><divclass="highlight"><pre><spanclass="n">std</span><spanclass="o">::</span><spanclass="n">string</span><spanclass="n">get_password</span><spanclass="p">()</span><spanclass="k">const</span>
679-
<spanclass="p">{</span>
680-
<spanclass="k">return</span><spanclass="s">&quot;test&quot;</span><spanclass="p">;</span>
681+
<divclass="highlight-c++"><divclass="highlight"><pre><spanclass="n">std</span><spanclass="o">::</span><spanclass="n">string</span><spanclass="n">password_callback</span><spanclass="p">(</span><spanclass="n">std</span><spanclass="o">::</span><spanclass="kt">size_t</span><spanclass="n">max_length</span><spanclass="p">,</span><spanclass="n">boost</span><spanclass="o">::</span><spanclass="n">asio</span><spanclass="o">::</span><spanclass="n">ssl</span><spanclass="o">::</span><spanclass="n">context_base</span><spanclass="o">::</span><spanclass="n">password_purpose</span><spanclass="n">purpose</span><spanclass="p">)</span><spanclass="p">{</span>
682+
<spanclass="k">return</span><spanclass="n">std</span><spanclass="o">::</span><spanclass="n">string</span><spanclass="p">(</span><spanclass="s">&quot;test&quot;</span><spanclass="p">);</span>
681683
<spanclass="p">}</span>
682684
</pre></div>
683685
</div>

‎libs/network/doc/html/searchindex.js‎

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎libs/network/doc/reference/http_server.rst‎

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -537,27 +537,29 @@ used are defined in the link.
537537

538538
..code-block::c++
539539

540-
boost::shared_ptr<boost::asio::ssl::context> ctx = boost::make_shared<boost::asio::ssl::context>(boost::asio::ssl::context::sslv23);
541-
ctx->set_options(
542-
boost::asio::ssl::context::default_workarounds
543-
|boost::asio::ssl::context::no_sslv2
544-
|boost::asio::ssl::context::single_dh_use);
545-
context_.set_password_callback(boost::bind(&server::get_password, this));
546-
context_.use_certificate_chain_file("server.pem");
547-
context_.use_private_key_file("server.pem", boost::asio::ssl::context::pem);
548-
context_.use_tmp_dh_file("dh512.pem");
540+
// Initialize SSL context
541+
boost::shared_ptr<boost::asio::ssl::context> ctx = boost::make_shared<boost::asio::ssl::context>(boost::asio::ssl::context::sslv23);
542+
ctx->set_options(
543+
boost::asio::ssl::context::default_workarounds
544+
|boost::asio::ssl::context::no_sslv2
545+
|boost::asio::ssl::context::single_dh_use);
546+
547+
// Set keys
548+
ctx->set_password_callback(password_callback);
549+
ctx->use_certificate_chain_file("server.pem");
550+
ctx->use_private_key_file("server.pem", boost::asio::ssl::context::pem);
551+
ctx->use_tmp_dh_file("dh512.pem");
549552

550553
handler_type handler;
551554
http_server::options options(handler);
552555
options.thread_pool(boost::make_shared<boost::network::utils::thread_pool>(2));
553-
http_server server(options.address("127.0.0.1").port("8000").context(ctx));
556+
http_server server(options.address("127.0.0.1").port("8442").context(ctx));
554557

555558

556559
..code-block::c++
557560

558-
std::string get_password() const
559-
{
560-
return "test";
561+
std::string password_callback(std::size_t max_length, boost::asio::ssl::context_base::password_purpose purpose) {
562+
return std::string("test");
561563
}
562564

563565
.. _Boost.Range:http://www.boost.org/libs/range
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Diffie-Hellman-Parameters: (512 bit)
2+
prime:
3+
00:f8:57:8f:79:09:08:95:c9:0a:74:2c:85:b5:75:
4+
ff:07:67:c0:d2:94:4f:a2:45:77:7e:e1:f4:b6:86:
5+
60:9a:33:80:7b:31:75:f3:fc:8e:c3:0b:d0:8d:77:
6+
a4:ed:3a:e8:e4:35:69:3e:ce:63:49:26:a4:64:38:
7+
55:41:51:de:13
8+
generator: 5 (0x5)
9+
-----BEGIN DH PARAMETERS-----
10+
MEYCQQD4V495CQiVyQp0LIW1df8HZ8DSlE+iRXd+4fS2hmCaM4B7MXXz/I7DC9CN
11+
d6TtOujkNWk+zmNJJqRkOFVBUd4TAgEF
12+
-----END DH PARAMETERS-----
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
-----BEGIN RSA PRIVATE KEY-----
2+
Proc-Type: 4,ENCRYPTED
3+
DEK-Info: DES-EDE3-CBC,0ED70FE151E3399B
4+
5+
+0JpEbgYMyIdEE7yKdosnNzzwGffSe6UIOf/8RgWg5N1f6obqYVRPaO53R1Fdhx2
6+
08q5acaNNCZcoCs1X0s0F/dr4L5XOorz2W5qUKnlDiZqBVBfpW8vIKMiZxOBePO7
7+
/h4LGtuX843k5sCmXnONtDJrpklsds0/vvZbuln6VHNf3mCWdLc8d5yJq/nPUKSm
8+
hBd8uXPF0VUSSmTre2P0pTACz2WWI7N2uWKJqBJgGbqTfR5ciufXVR/n9leICjWM
9+
LiipPMdp4ZNGDQcP3eW7/pSgxGzGvxP9e1vTEkmv0/fRGgClOdQbs+uEyDemOA+V
10+
KHJYGhdhSCDM4VJQTO40dDhsn0glp9IjchYrxjI6jyziG1Jg7YMhoeQBMYm1zSsY
11+
vqB0i7gtjVBKzltWN9fNvZ1kOJWhOsHuPocP4L4sqaQEqWCMtcKnm8ECGYXtu8E2
12+
QmDokiWqO1+MORf+naU0nOTtnXSpsysBn1ns+8TeUzaLAy8Dd/mhX2+SWnwGs0RI
13+
VEYP+mef96SnqOKy2mDl/uzwcKUdKw4wnXrb2s8039gXBDZL09YlJxu/b/h67Dzn
14+
LSRft4JjdojTmT0Ji4eJFiew9L3bbbUyIhA9M/cdoNEnXMmOcO+XDMxemaaX4rLf
15+
nmEUcz0xpe8CVqTgx/TuOv06PX/iLyCYPnz5nczeVIw0a1/9g4WRghtoO/ezGJia
16+
jpJRmXI7Mcw4z4GgW1AbVEeIPSXQD6sqnuNcY4h/62XkVI29FjsVgU1ZRx5fu68L
17+
EIPuEri087Eep1NdRHOWwN03ppRdNxQQqB4uMNL2ruX3LzRKa0p7OQ3iL7e2V6el
18+
2srv/5AYtFCq/adukhNcpU/otSZ5Re5B6C1zLAEUSKcgYHjCOUluq8HnCijnVCMh
19+
pEQPaSM0P36DlNFjAWFlK8/N80LOfiYekLyZLbHjczSOS3EyVyvuF3pbtSHzpgtF
20+
W4EJD8siMTXcE5hL8Ws1FwWHfviAq/mI4NUcNNz6S/4IcHS6teQOE5/uFcicJxXl
21+
2wgZgYzBUeQlSqyI6XKoyfdJXducbLQqSWLEHL++Ek0ZaUKOiF+iGKPE0azKwMCc
22+
QumPY+R2BhJbuiTQE36hBpte//XPQS5dWwXW5RTJm8ARNl1vNR/DESfhWX+wmKqx
23+
2UBDRoEBa5HvrU82tWeGgm9CvTg6EOSNkap/BSdd3np631NnVm1tYz/flQvw4+5t
24+
AH0X9C1QsGFwP6y/pAZ+YB+U65iN1UE3D3U1pC5JL+56ETc3GsPKnsWhAftIMm4r
25+
l7zJ4BsrvfVnRaZFH4W+ITGy5q7iLD6Tuhpq574DxCINHtiENr00ZfPw08pMpvjG
26+
5qhuE7Vgx5MGcVhUkz+Dtsm7bDRNsRxGAO5MSiIl70oahB5q247HF2ZElVT6+LbU
27+
rQlIL4OdTdSXplW84NcoLTRy1HmLPf8B0Dt5f9Es0fAeWMiOmrrzM+spOgGXQhwv
28+
VnqQrDeSDk6TOjN5z+BuwFfR7kImO+/As9NnG8D0l0PCRMW79mED2iOTnyHT8g8b
29+
JLOjK/u2RxXFtbRwhERl4pei3NHfX4yXz2mcFjFLEOKin909WqObwedMsOUYoiN9
30+
-----END RSA PRIVATE KEY-----
31+
-----BEGIN CERTIFICATE-----
32+
MIID5jCCAs6gAwIBAgIJAI84QTgzQ+NXMA0GCSqGSIb3DQEBBQUAMFUxCzAJBgNV
33+
BAYTAkJFMRMwEQYDVQQIEwpTb21lLVN0YXRlMRIwEAYDVQQKEwljcHBuZXRsaWIx
34+
DDAKBgNVBAsTA3NzbDEPMA0GA1UEAxMGc2VydmVyMB4XDTE0MDUyMTA4MzI1OFoX
35+
DTI0MDUxODA4MzI1OFowVTELMAkGA1UEBhMCQkUxEzARBgNVBAgTClNvbWUtU3Rh
36+
dGUxEjAQBgNVBAoTCWNwcG5ldGxpYjEMMAoGA1UECxMDc3NsMQ8wDQYDVQQDEwZz
37+
ZXJ2ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZdnFuC9w3Jmdh
38+
nQkeCD3rJ3LbmopRJkBFeAdHXvF2zPedsCjQ2J9XNcrGoejQuWNzEfmhs8pPSve3
39+
+Hn5AmqByGzN6aylJnD4qZZqpV1JrWvhReswLJktUTKtu+gh2a3gZjvXAdkGi0QX
40+
LoXyAFuhILmivE9bQB6unUpMhGiAfX9AxDINgBt/+oi2V8bkXdJl45BNUY9IqgaJ
41+
9WeDC37DmORb/IDHjmancIMyirDG2SBBGOVv/wuI0a/QUmjtBKUMEiX8PtyKSORA
42+
PnOd2Fe0LL70thBD1WtlMNoU3upIrlLUE0F4bb+Ibn+iuSyu6dWp7rr9kR3uigQ6
43+
gspTVX4RAgMBAAGjgbgwgbUwHQYDVR0OBBYEFHZpVctJQmv6ixP7PmHcFUa+7+Dy
44+
MIGFBgNVHSMEfjB8gBR2aVXLSUJr+osT+z5h3BVGvu/g8qFZpFcwVTELMAkGA1UE
45+
BhMCQkUxEzARBgNVBAgTClNvbWUtU3RhdGUxEjAQBgNVBAoTCWNwcG5ldGxpYjEM
46+
MAoGA1UECxMDc3NsMQ8wDQYDVQQDEwZzZXJ2ZXKCCQCPOEE4M0PjVzAMBgNVHRME
47+
BTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQCd70N4MzxI7jKdyFXNQtHLh74hALd5
48+
p2PconV+3dE3yge88Z9IkgIx8MtVl6jm7dlggwJLGTBUD5fI0iL+KWqLl7/QxbwS
49+
82J28ScsXlEf7pygowEsUYPM8j6O42JhIGQqMWOnmqnBVDxszHvYkO12/JupbEeK
50+
p5RYS3GkyxQm5MmX0pX0H6wdfCkOdSZrHaXTx2wq2lKeQgN3mECUH51jXzB1G3nI
51+
y1dCMD+AF3eUqS2UxgPbF14U6V2vsk4DvbgyzjYFjF+ttFdnIgGwAJJWet+orhW/
52+
k+h3ZaviXhOyqjpXHXGkVUj+/AvKWArjl7D6Xh03iUp0xt1Bn28CxQ90
53+
-----END CERTIFICATE-----

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp