国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看

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

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

    合肥圖文信息
    流體仿真外包多少錢_專業CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢_專業CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務 管路流場仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務 管路
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真技術服務
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲勞振動
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲
    流體cfd仿真分析服務 7類仿真分析代做服務40個行業
    流體cfd仿真分析服務 7類仿真分析代做服務4
    超全面的拼多多電商運營技巧,多多開團助手,多多出評軟件徽y1698861
    超全面的拼多多電商運營技巧,多多開團助手
    CAE有限元仿真分析團隊,2026仿真代做咨詢服務平臺
    CAE有限元仿真分析團隊,2026仿真代做咨詢服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗證碼 豆包網頁版入口 破天一劍 目錄網 排行網

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

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

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    成人国产精品日本在线| 国产女主播av| 韩国精品久久久999| 久久久久久亚洲| 黄色片免费在线观看视频| 热re99久久精品国99热蜜月| 亚洲一区 在线播放| 亚洲精品一区二| 国产精品高潮视频| 国模一区二区三区私拍视频| 欧美成人精品一区二区| 黄www在线观看| 麻豆中文字幕在线观看| 五码日韩精品一区二区三区视频| 国产精品高清在线| 含羞草久久爱69一区| 亚洲欧美影院| 九九九九久久久久| 国产精品中文字幕在线观看| 国产精品高潮呻吟久久av黑人 | 91免费视频国产| 欧美激情在线有限公司| 国内外免费激情视频| 久久久久久久少妇| 蜜桃视频日韩| 久久久久久www| 久久九九视频| 色就是色欧美| 久久久久久久久久久视频| 日韩人妻精品一区二区三区| 九色综合日本| 欧美精品一区二区三区四区五区 | 午夜精品一区二区三区在线视频 | 青草网在线观看| 久久天堂电影网| 国产一级特黄a大片99| 欧美日韩xxxxx| 91精品美女在线| 日韩福利在线| 国产精品免费电影| 国产日韩在线看| 亚洲精品欧美极品| 久久精品日韩| 精品网站在线看| 亚洲熟女乱色一区二区三区| 国产精品69av| 欧美在线一区二区三区四区| 久久人人爽亚洲精品天堂| 激情欧美一区二区三区中文字幕| 久久国产精品首页| 成人精品一区二区三区电影免费| 午夜一区二区三视频在线观看| 国产av天堂无码一区二区三区| 激情五月开心婷婷| 亚洲一区二区三区加勒比| 国产不卡精品视男人的天堂| 国内精品久久久久影院优| 综合色婷婷一区二区亚洲欧美国产| 久久视频这里有精品| 欧美这里只有精品| 亚洲综合在线播放| 日韩视频免费看| 国产综合色香蕉精品| 亚洲精品中文字幕乱码三区不卡 | 欧洲成人在线视频| 久久久久久高潮国产精品视| 久久综合久久久| 免费看欧美一级片| 视频一区二区三区在线观看| 国产精品精品一区二区三区午夜版| 国产精品一久久香蕉国产线看观看| 日本不卡一区二区三区在线观看| 久久中文字幕在线视频| 久久久久福利视频| 妓院一钑片免看黄大片| 午夜啪啪免费视频| 国产精品动漫网站| 久久er99热精品一区二区三区| 国产一级做a爰片久久毛片男| 日本午夜人人精品| 正在播放国产精品| 国产精品老女人精品视频| 久久这里只有精品23| 国产欧美中文字幕| 欧美性久久久久| 欧美一区二区三区成人久久片| 精品国产一区二区三区麻豆小说| 久久久久日韩精品久久久男男| 草b视频在线观看| 欧美亚洲另类制服自拍| 日韩aⅴ视频一区二区三区| 欧美日韩高清区| 国产精品视频一区二区三区四区五区| 国产精欧美一区二区三区| 国产肉体ⅹxxx137大胆| 男人天堂新网址| 日本高清+成人网在线观看| 一区二区精品国产| 久久国产精品久久久久久| 国产精品久久精品国产| 久久精品国产视频| 日韩中文字幕在线看| 国产成人亚洲精品| 91黄在线观看| 国产精品中文字幕久久久| 精品99在线视频| 欧美一级大片视频| 日本网站免费在线观看| 亚洲日本欧美在线| 中文字幕在线中文字幕日亚韩一区| 国产精品初高中精品久久| 国产精品丝袜一区二区三区| 日韩视频在线免费| 日韩专区在线播放| 久久久久久久国产精品视频| 久久久在线观看| 国产精品99久久久久久人| 99精品欧美一区二区三区| 国产免费一区| 国产午夜福利100集发布| 国产一区玩具在线观看| 国产一区免费视频| 国产日韩欧美另类| 国产美女被下药99| 高清欧美性猛交xxxx| 成人中文字幕av| 91久久精品久久国产性色也91| 99精品国产高清在线观看| 成人国产精品久久久| av色综合网| 91精品国产综合久久香蕉922| 超碰97国产在线| 久久久福利视频| 色婷婷av一区二区三区久久| 久久久久久www| 久精品国产欧美| 久久精品欧美视频| 国产精品高清免费在线观看| 欧美久久精品一级黑人c片 | 日产国产精品精品a∨| 日本不卡在线观看视频| 青青青在线播放| 青青草原av在线播放| 热re99久久精品国产66热| 国产美女无遮挡网站| 国产欧美在线视频| 免费在线观看亚洲视频| 麻豆久久久av免费| 国产美女91呻吟求| 91av在线播放| 色777狠狠综合秋免鲁丝| 久久最新资源网| 久久九九亚洲综合| 操人视频在线观看欧美| 中文字幕在线中文字幕日亚韩一区 | 国产精品乱码视频| 色综合色综合网色综合| 五月天婷亚洲天综合网鲁鲁鲁| 熟女少妇精品一区二区| 欧美在线日韩精品| 国产欧美一区二区三区久久| 国产精品99免视看9| 日韩视频精品在线| 欧美精品一本久久男人的天堂| 亚洲一区二区不卡视频| 日本精品www| 精品午夜一区二区| 国产精品91视频| 国产精品久久久久久av福利软件 | 亚洲欧美精品在线观看| 日韩免费av片在线观看| 国产在线999| 国产av熟女一区二区三区| 精品国产一区二区三区久久久久久| 色之综合天天综合色天天棕色| 国内成人精品视频| 国产成人亚洲精品| 欧美激情视频在线| 日韩伦理一区二区三区av在线| 国产情侣av自拍| 精品国产一区二区三区久久狼5月| 欧美激情区在线播放| 青草热久免费精品视频| 成人免费在线网| 九九九九九精品| 一区二区精品免费视频| 欧美变态另类刺激| 91国产精品电影| 超在线视频97| 日韩欧美激情一区二区| yy111111少妇影院日韩夜片| 国产精品视频公开费视频| 欧美一级片中文字幕| 国产免费成人在线| 国产成人精品无码播放| 午夜免费福利小电影| 国产日产欧美精品| 国产精品欧美日韩久久| 日本一区二区三区四区五区六区| 国产乱码精品一区二区三区不卡|