日韩精品一区二区三区高清_久久国产热这里只有精品8_天天做爽夜夜做爽_一本岛在免费一二三区

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

self-signed certificate.代做、代寫Java/c++設計編程

時間:2024-02-25  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯



Step #2: Create a self-signed certificate. HTTPS connections require TLS, and, in order to use TLS, your
server will need a certificate. For testing, you may want to create a self-signed certificate. You can do this
using the keytool utility, with is included in the JDK. An example command would be (on a single line):
keytool -genkeypair -keyalg RSA -alias selfsigned -keystore keystore.jks
-storepass secret -dname "CN=Blah, OU=Blubb, O=Foo, L=Bar, C=US"
This will create a file called keystore.jks in the local directory.
Step #3: Open a TLS socket. As a first step, implement the securePort method, and then add code to
replace the existing server socket with a TLS server socket. You can use code roughly like the following:
import javax.net.ssl.*;
import java.security.*;
String pwd = "secret";
KeyStore keyStore = KeyStore.getInstance("JKS");
keyStore.load(new FileInputStream("keystore.jks"), pwd.toCharArray());
KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("SunX509");
keyManagerFactory.init(keyStore, pwd.toCharArray());
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(keyManagerFactory.getKeyManagers(), null, null);
ServerSocketFactory factory = sslContext.getServerSocketFactory();
ServerSocket serverSocketTLS = factory.createServerSocket(securePortNo);
You should now be able to use serverSocketTLS instead of your existing server socket. (This will
disable normal HTTP requests for now, but we’ll fix this shortly.) Try running a simple test application on
your server, like
securePort(8443);
get("/", (req,res) -> { return "Hello World!"; });
and then open https://localhost:8443/ in your web browser. (Be sure to include the https
part!) If you are using the self-signed certificate from Step #2, which is not signed by any CA, you will see
lots of warnings in the browser, but it should be possible to override them. For instance, in Safari you would
see a warning that says that “This Connection Is Not Private”, but you can click on “Details”, then on “visit
this website”, and then confirm by clicking on the “Visit Website” button. At the end, you should see the
“Hello World!” message from the test application, and you should be able to view the information in your
self-signed certificate by clicking on the little lock icon in Safari’s address bar (or whatever equivalent your
favorite browser has to this). If the lock icon is missing or you do not get any warnings, something is
wrong; chances are that you are still using HTTP. Also, at this point, the https test case should pass.
Step #4: Add back HTTP support. In order to support both HTTP and HTTPS, which use different ports,
your server will need to listen to two different server sockets. A simple way to do that is to use two
separate threads. If you haven’t already, you should factor out your server loop into a separate method, say
serverLoop(s), where s is a ServerSocket; at that point, you can simply open both a normal
server socket and a TLS server socket, and then launch two separate threads that each invoke this method
with one of the two server sockets. At this point, both the http and https test cases should pass.
Step #5: Add a session object. Next, create a class – perhaps called SessionImpl – that implements
the Session interface. This class doesn’t have to do much; all it needs to do is store the various bits of
information (the session ID, creation time and last-accessed time, max active interval, and key-value pairs)
and implement the various getter and setter methods in the interface.
Step #6: Add session handling. Now you can use this class to add support for sessions. There are four
places in the server that need changes. First, you need a data structure that stores the sessions by session ID
– probably some kind of Map. Second, you’ll need to parse the Cookie header(s) while reading the
3
request, and extract the cookie with the name SessionID, if it exists; if it does, and your Map contains a
session for that ID, update that session’s last-accessed time and make sure that the session() method
will return it when called. Third, when session() is called and there is not already a session, you’ll
need to create a new object with a fresh session ID. Keep in mind that the session ID should be random and
have at least 120 bits; for instance, you can pick a set of 64 characters (maybe lower and upper case letters,
digits, and two other characters) and then draw 20 of them. Finally, when writing out the headers, you’ll
need to add a Set-Cookie header whenever you’ve created a new SessionImpl object, to send back
the corresponding SessionID cookie to the user. With this, you should be able to implement the two
attribute methods from the Session interface, and both the sessionid and permanent test
cases should pass.
Step #7: Add session expiration. The final step is to add a way to expire session objects. This requires
two steps. First, you’ll need a way to periodically expire old sessions that have not been accessed recently;
you can do this by launching another thread that sleeps for a few seconds, removes any session objects
whose last-accessed timestamp is too old, and then repeats. Notice, however, that this could cause the
server to slightly overshoot the lifetime of a session. To fix that, the second step is to also check the
last-accessed timestamp before updating it, and to simply ignore the object if it has already expired but has
not been deleted yet. At this point, both the expire test case should pass.
Step #8: Implement a test server. Write a little server that 1) calls securePort(443) to set the
HTTPS port, and 2) defines a GET route for / that returns the required message from Section 2. Test this
server locally (https://localhost/) with your self-signed certificate, to make sure that it displays
the message correctly. If you cannot bind to port 443 on your local machine, you can use port 8443 for
testing (in this case, open https://localhost:8443/ instead), but please don’t forget to use 443 in
the final version that will be deployed on EC2.
Step #9: Launch an EC2 instance. Log into the Amazon Web Services console and choose EC2 (by
clicking on “Services”, then on “Compute”, and then on “EC2”). Click on “Launch Instance”, and then do
the following:
• Under “Application and OS Images”, choose the default Amazon Linux AMI (Amazon Linux 2023).
• Under “Instance type”, choose one of the smallest/cheapest instances – say, a t2.micro instance.
This should be enough for our purposes.
• Under “Key Pair”, click on “Create new key pair”, choose a descriptive name (perhaps “CIS5550”),
and pick RSA and the .pem format. Hit “Create Key Pair”, which should cause your browser to
download a .pem file.
• Under “Network settings”, make sure that the following three options are checked: “Allow SSH
traffic from Anywhere”, “Allow HTTPS traffic from the internet”, and “Allow HTTP traffic from the
internet”. Please double-check this – if you get this step wrong, chances are that you won’t be able to
connect to your server later on.
• Under “Configure storage”, you can keep the default, which is probably an 8GB gp3 root volume.
In the summary bar on the right, double-check that the number of instances is 1, and then hit the orange
“Launch instance” button. Wait a moment, until (hopefully) AWS reports success. Go back to the
“Instances” tab in EC2, and find the instance you just launched. When you click on its instance ID, you
should see an “Instance summary” that shows, among lots of other things, its public IPv4 address. Write
this down. (Do not confuse this with the private IPv4 address, which probably starts with 172. or 10.
請加QQ:99515681  郵箱:99515681@qq.com   WX:codehelp 

掃一掃在手機打開當前頁
  • 上一篇:CMSC 323代做、代寫Java, Python編程
  • 下一篇:代做Project 1: 3D printer materials estimation
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    有限元分析 CAE仿真分析服務-企業/產品研發/客戶要求/設計優化
    有限元分析 CAE仿真分析服務-企業/產品研發
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
    合肥機場巴士2號線
    合肥機場巴士2號線
  • 短信驗證碼 豆包 幣安下載 目錄網

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    日韩精品一区二区三区高清_久久国产热这里只有精品8_天天做爽夜夜做爽_一本岛在免费一二三区

      <em id="rw4ev"></em>

        <tr id="rw4ev"></tr>

        <nav id="rw4ev"></nav>
        <strike id="rw4ev"><pre id="rw4ev"></pre></strike>
        欧美日韩高清在线| 久久午夜精品一区二区| 欧美亚洲日本网站| 国产美女搞久久| 欧美日韩一区高清| 欧美一站二站| 欧美日韩精品综合| 亚洲线精品一区二区三区八戒| 欧美午夜精品久久久久免费视| 国产精品黄色在线观看| 欧美日韩性生活视频| 国产精品视频不卡| 久久久一区二区| 你懂的视频欧美| 久久久久久久波多野高潮日日| 欧美激情综合五月色丁香| 欧美日韩一级片在线观看| 亚洲激情在线播放| 午夜精品久久久久久久蜜桃app| 久久高清福利视频| 欧美一级欧美一级在线播放| 欧美日韩国产首页在线观看| 欧美日韩一区二区国产| 欧美日韩二区三区| 亚洲狼人精品一区二区三区| 美女视频黄 久久| 国产精品午夜春色av| 亚洲女性喷水在线观看一区| 久久字幕精品一区| 欧美有码视频| 亚洲激情视频网站| 欧美成人免费网| 欧美激情久久久久| 午夜精品久久一牛影视| 欧美性大战久久久久| 国产精品日韩在线观看| 欧美与黑人午夜性猛交久久久| 欧美日韩极品在线观看一区| 亚洲主播在线播放| 欧美黄色大片网站| 美日韩免费视频| 欧美日韩视频一区二区三区| 欧美va亚洲va香蕉在线| 久久久人成影片一区二区三区| 久久福利电影| 国产一二三精品| 久久久精品日韩| 亚洲欧美一区二区视频| 午夜久久美女| 欧美精品午夜| 亚洲欧美国产三级| 伊人狠狠色j香婷婷综合| 免费不卡中文字幕视频| 免费永久网站黄欧美| 在线视频一区观看| 亚洲欧美视频在线观看视频| 久久青草久久| 日韩视频中文字幕| 免费人成网站在线观看欧美高清| 亚洲高清免费| 在线视频精品一| 久久中文在线| 欧美国产精品| 亚洲黄一区二区三区| 欧美在线网站| 国产精品日韩二区| 黄色亚洲在线| 欧美激情精品久久久久久| 亚洲精品一二三区| 欧美四级剧情无删版影片| 国产午夜一区二区三区| 精品成人免费| 国产精品免费看久久久香蕉| 亚洲精品乱码视频| 黑人巨大精品欧美一区二区小视频| 欧美一区二区视频在线观看2020| 午夜亚洲一区| 欧美国产精品久久| 欧美久久视频| 亚洲少妇中出一区| 久久爱www久久做| 欧美视频一区二区在线观看| 国产农村妇女毛片精品久久莱园子| 欧美日韩精品二区| 久久久精彩视频| 激情视频一区二区三区| 麻豆亚洲精品| 99riav国产精品| 亚洲无亚洲人成网站77777| 久久亚洲一区| 欧美一区二视频在线免费观看| 激情综合在线| 一区电影在线观看| 欧美中文字幕| 蜜桃视频一区| 麻豆精品一区二区av白丝在线| 欧美激情aaaa| 麻豆九一精品爱看视频在线观看免费| 红桃av永久久久| 久久精品视频网| av成人动漫| 亚洲一区在线免费观看| 亚洲在线第一页| 在线播放国产一区中文字幕剧情欧美| 久久乐国产精品| 亚洲经典自拍| 一本色道**综合亚洲精品蜜桃冫| 欧美高清视频免费观看| 欧美激情2020午夜免费观看| 蜜臀久久久99精品久久久久久| 久久精品国产第一区二区三区最新章节| 国产亚洲欧美日韩美女| 极品少妇一区二区三区| 国产精品麻豆va在线播放| 亚洲激情国产精品| 亚洲欧美日韩国产一区| 久久精品在这里| 久久免费视频这里只有精品| 久久黄色影院| 欧美日韩精品一区二区在线播放| 久久久久久日产精品| 亚洲日本久久| 久久香蕉国产线看观看网| 久久亚洲国产成人| 国产亚洲激情| 一区二区三区www| 在线不卡免费欧美| 久久久久国产精品午夜一区| 亚洲欧美日韩在线播放| 亚洲美洲欧洲综合国产一区| 韩国在线一区| 免费人成精品欧美精品| 亚洲视频每日更新| 亚洲精品色图| 欧美精品在线一区| 欧美中文字幕在线视频| 国产精品爽爽ⅴa在线观看| 国产精品99免视看9| 欧美激情视频一区二区三区不卡| 国产精品福利网站| 黄色成人av网站| 国产精品免费一区豆花| 亚洲人成亚洲人成在线观看| 中文在线不卡视频| 国产精品v亚洲精品v日韩精品| 欧美日韩精品一区| 亚洲狼人精品一区二区三区| 另类欧美日韩国产在线| 亚洲国产高清一区| 国产欧美在线观看一区| av72成人在线| 久久九九热re6这里有精品| 欧美电影在线观看完整版| 黄色一区二区三区| 欧美激情二区三区| 午夜精品久久久久久99热软件| 亚洲香蕉伊综合在人在线视看| 欧美二区乱c少妇| 国产午夜久久| 国产精品成人v| 一区二区三区在线观看欧美| 午夜精品一区二区三区在线播放| 欧美日韩国产综合一区二区| 欧美久久久久中文字幕|