91精品国产91久久久久久_国产精品二区一区二区aⅴ污介绍_一本久久a久久精品vr综合_亚洲视频一区二区三区

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

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
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    2025年10月份更新拼多多改銷助手小象助手多多出評軟件
    2025年10月份更新拼多多改銷助手小象助手多
    有限元分析 CAE仿真分析服務-企業/產品研發/客戶要求/設計優化
    有限元分析 CAE仿真分析服務-企業/產品研發
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
  • 短信驗證碼 目錄網 排行網

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

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

    91精品国产91久久久久久_国产精品二区一区二区aⅴ污介绍_一本久久a久久精品vr综合_亚洲视频一区二区三区
    亚洲第一精品影视| 69堂国产成人免费视频| 好看的日韩av电影| 欧美日韩综合网| 欧美日韩系列| 激情欧美一区| 欧美午夜不卡影院在线观看完整版免费| 国内精品久久久久影院薰衣草| 午夜精品免费在线| 中文字幕一区二区视频| 欧美极品aⅴ影院| 欧美久久一二三四区| 在线亚洲成人| 国产精品一区亚洲| 色偷偷88欧美精品久久久 | 欧美专区日韩专区| 一本到一区二区三区| 欧美又粗又大又爽| 欧美一区在线视频| 精品国产乱码久久| 国产精品美女视频| 亚洲第一在线综合网站| 日韩av一区二区在线影视| 经典三级视频一区| 成人免费高清在线观看| 欧美日韩亚洲三区| 欧美亚洲一区二区三区| 欧美日韩亚洲综合在线| 久久亚洲捆绑美女| 亚洲欧美一区二区三区孕妇| 天堂在线一区二区| 高清免费成人av| 伊人成年综合电影网| 久久青青草原一区二区| 欧美美女bb生活片| 欧美国产乱子伦| 婷婷久久综合九色综合伊人色| 国内欧美视频一区二区| 欧美成人一区二免费视频软件| 日韩午夜在线电影| 337p亚洲精品色噜噜| 国产午夜亚洲精品不卡| 亚洲成人一区二区| 成人高清伦理免费影院在线观看| 亚洲性感美女99在线| 在线观看成人免费视频| 久久久青草青青国产亚洲免观| 亚洲福利一二三区| 成人免费观看视频| 亚洲在线电影| 久久九九全国免费| 免费高清成人在线| 亚洲欧美一级二级三级| 欧美性色欧美a在线播放| 国产欧美日产一区| 蜜臀91精品一区二区三区| 欧美尤物一区| 欧美美女一区二区在线观看| 亚洲免费在线播放| 成人蜜臀av电影| 日本久久一区二区三区| 国产精品久久久久久久午夜片 | 国产精品美女黄网| 欧美一区二区三区啪啪| 亚洲久本草在线中文字幕| 丁香六月综合激情| 日本久久电影网| 亚洲品质自拍视频网站| 91同城在线观看| 欧美美女网站色| 亚洲一级二级三级| 欧美二区在线| 欧美一区日韩一区| 亚洲成av人片一区二区梦乃| 欧美激情亚洲| 精品日韩一区二区三区免费视频| 日本三级亚洲精品| 国产欧美另类| 中文字幕av一区二区三区免费看| 国产福利一区二区三区在线视频| 久久精品一二三区| 亚洲精品欧美激情| 欧美午夜在线视频| 国产欧美一区二区精品婷婷| 国产成人精品三级麻豆| 欧美四级电影网| 日韩精品乱码免费| 麻豆久久精品| 亚洲尤物视频在线| 99精品免费网| 亚洲精品欧美专区| 亚洲黄页一区| 亚洲美腿欧美偷拍| 一区二区三区福利| 亚洲黄色性网站| 一区二区三区成人精品| 亚洲激情图片qvod| 日韩视频精品在线观看| 亚洲欧美日本韩国| 亚洲国产高清一区二区三区| 亚洲欧洲日韩在线| 亚洲免费观看| 亚洲国产精品人人做人人爽| 亚洲自拍另类| 日韩不卡手机在线v区| 欧洲人成人精品| 国产一区二区三区在线观看精品| 欧美色倩网站大全免费| 国产在线一区二区综合免费视频| 在线91免费看| 成人美女在线观看| 国产欧美日韩在线| 雨宫琴音一区二区在线| 亚洲综合一区二区三区| 香蕉视频成人在线观看| 男女性色大片免费观看一区二区| 欧美日韩一区二区在线观看| 韩国理伦片一区二区三区在线播放| 欧美精品色一区二区三区| 国产成人a级片| 久久久久久久电影| 亚洲国产精品一区二区第四页av| 伊人色综合久久天天人手人婷| 麻豆91精品| 经典一区二区三区| 国产亚洲欧美日韩日本| 亚洲区第一页| 免费日本视频一区| 日韩欧美精品三级| 亚洲视频福利| 奇米888四色在线精品| 欧美电视剧在线看免费| 午夜精品一区二区三区四区| 亚洲一区二区三区四区在线| 欧美性一二三区| 91免费视频网| 午夜视频一区二区三区| 91精品蜜臀在线一区尤物| 国产精品v日韩精品v欧美精品网站 | 欧美日韩在线精品一区二区三区激情| 国产精品一二三区| 国产精品不卡一区二区三区| 久久黄色小说| 91丝袜美腿高跟国产极品老师 | 天堂一区二区在线| 精品国免费一区二区三区| 一区二区三区免费看| 国产毛片精品国产一区二区三区| 国产视频一区二区在线观看| 国产精品一二| 99久久久无码国产精品| 亚洲国产三级在线| 精品久久免费看| 久久国产一二区| 成人精品视频一区| 一区二区成人在线| 日韩一区和二区| 国产精品毛片在线看| www.激情成人| 久久99这里只有精品| 18欧美乱大交hd1984| 日韩欧美资源站| 免费在线日韩av| 欧美日韩天堂| 成人免费毛片aaaaa**| 亚洲第一搞黄网站| 久久久精品蜜桃| 欧美日韩国产精选| 中文精品视频一区二区在线观看| 粉嫩欧美一区二区三区高清影视| 一区二区三区精品视频| 国产欧美一区二区精品性| 欧美三级韩国三级日本三斤| 伊人成人在线| 91女人视频在线观看| 国产乱码精品一区二区三区av| 亚洲一区二区免费视频| 国产精品免费av| 日韩视频一区二区在线观看| 久久久久99| 精品成人久久| 女生裸体视频一区二区三区 | 欧美丰满少妇xxxxx高潮对白| 国产精品日韩一区二区三区| 欧美 日韩 国产在线| 国产成人免费视频网站高清观看视频| 一区二区三区精品视频在线| 国产精品久久久久精k8 | 亚洲女同一区二区| 国产日韩在线不卡| 日韩亚洲欧美中文三级| 欧美日韩一区二区在线视频| 在线影视一区二区三区| 免费一级欧美片在线播放| 亚洲日本精品国产第一区| 欧美视频四区| 欧美久久久久久| 欧美日韩国产高清视频| 欧美在线看片| 黄色在线一区|