99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

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

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

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

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

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

    99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

          9000px;">

                国产亚洲综合在线| 久久久精品免费观看| 懂色av中文字幕一区二区三区 | 国产精品成人网| 粉嫩久久99精品久久久久久夜| 欧美麻豆精品久久久久久| 欧美精品一区二区在线观看| 久久综合成人精品亚洲另类欧美| 日韩成人精品在线观看| 欧美群妇大交群中文字幕| 亚洲成a人在线观看| 日韩美女主播在线视频一区二区三区| 亚洲精品久久7777| 欧美一级淫片007| 岛国精品在线播放| 午夜视频一区在线观看| 欧美mv日韩mv国产网站app| 色94色欧美sute亚洲线路一ni| 亚洲午夜三级在线| 久久久精品欧美丰满| 欧美午夜精品免费| 老鸭窝一区二区久久精品| 国产亚洲精品中文字幕| 欧美专区日韩专区| 成人精品一区二区三区中文字幕 | 亚洲综合在线观看视频| 亚洲天堂a在线| 中文字幕国产精品一区二区| 欧美日本国产一区| 精品播放一区二区| 亚洲国产精品一区二区www | caoporm超碰国产精品| 久久日一线二线三线suv| 亚洲v日本v欧美v久久精品| 91麻豆免费看| 亚洲嫩草精品久久| 七七婷婷婷婷精品国产| 欧美美女黄视频| 久久99精品国产.久久久久| 日韩精品影音先锋| 韩国女主播一区| 欧美色精品在线视频| 香蕉久久夜色精品国产使用方法| 波多野结衣在线一区| 国产精品短视频| 日本午夜一本久久久综合| 在线不卡一区二区| 7777精品伊人久久久大香线蕉完整版 | 99精品欧美一区二区蜜桃免费 | 欧美亚洲日本国产| 亚洲免费资源在线播放| 99在线精品视频| 亚洲视频每日更新| 成人免费高清在线观看| 日本一区二区三区四区在线视频| 国产在线播放一区二区三区| 久久综合五月天婷婷伊人| 国产成人aaa| 亚洲国产精品久久人人爱| 色视频欧美一区二区三区| 天涯成人国产亚洲精品一区av| 日韩久久久久久| 三级不卡在线观看| 亚洲欧美区自拍先锋| 久久久久久**毛片大全| 欧美一区二区在线播放| 99精品视频在线观看免费| 国产成人精品免费在线| 天天av天天翘天天综合网色鬼国产| 久久久久久久久久久久电影 | 欧美日韩免费视频| 91香蕉视频黄| www.日韩在线| 国产精品综合久久| 亚洲美女在线国产| 中文字幕第一区| 欧美一区二区视频网站| 欧美精品色一区二区三区| 欧美色中文字幕| 正在播放亚洲一区| 欧美日韩国产综合视频在线观看| 色婷婷狠狠综合| 欧美大片国产精品| 日韩精品电影一区亚洲| 一区二区免费看| 精品日韩欧美一区二区| 一区二区三区日韩精品视频| 粉嫩av亚洲一区二区图片| 欧美一区二区三区思思人| 亚洲午夜激情av| 欧美日韩在线播放三区| 久久久国产午夜精品| 亚洲va国产天堂va久久en| 国产精品主播直播| 欧美美女直播网站| 亚洲欧洲日韩av| 亚洲午夜激情av| 激情五月婷婷综合| 色8久久人人97超碰香蕉987| 精品国产一区二区三区不卡| 最近中文字幕一区二区三区| 免费成人美女在线观看.| 成人午夜在线免费| 精品精品国产高清一毛片一天堂| 国产欧美精品在线观看| 久久99精品久久久久久| 91精选在线观看| 亚洲综合色网站| 色久优优欧美色久优优| 一区二区三区四区高清精品免费观看 | 不卡视频一二三| 欧美精品在线观看播放| 国产精品免费av| 青青草精品视频| 国产精品一区三区| 精品99999| 久久99精品久久只有精品| 91精品国产综合久久精品图片| 亚洲男人天堂一区| 国产在线精品免费| 欧美一区2区视频在线观看| 亚洲美女视频在线| 欧美人牲a欧美精品| 精品一区二区三区香蕉蜜桃| 久久久综合视频| 成人看片黄a免费看在线| 国产精品丝袜在线| 91同城在线观看| 日韩欧美一区中文| 国产激情一区二区三区| 亚洲精品视频在线观看网站| 在线综合视频播放| 99久久久久久99| 亚洲成人av中文| 久久综合久色欧美综合狠狠| 国产不卡免费视频| 婷婷亚洲久悠悠色悠在线播放 | 99国产精品一区| 一区二区高清视频在线观看| 久久精工是国产品牌吗| 欧美性生交片4| 一区二区三区精品| 欧美日韩精品一区视频| 国产一区二区主播在线| 亚洲日本va午夜在线影院| 欧美在线观看一区| av电影在线不卡| 成人午夜电影久久影院| 视频一区欧美精品| 亚洲夂夂婷婷色拍ww47| wwwwxxxxx欧美| 欧美肥胖老妇做爰| 欧美精品久久久久久久久老牛影院| 成人免费观看男女羞羞视频| 国产精品一区二区x88av| 国产一区在线看| 亚洲精品一区在线观看| 在线观看国产91| 99视频在线精品| 激情小说欧美图片| 久久国内精品自在自线400部| 亚洲精品五月天| 亚洲日本韩国一区| 调教+趴+乳夹+国产+精品| 天天综合天天综合色| 亚洲r级在线视频| 国产伦精一区二区三区| 国产欧美精品一区二区色综合| 国产亚洲va综合人人澡精品 | 欧美精品日韩一本| 日韩欧美在线观看一区二区三区| 91精品国产欧美一区二区成人| 欧美三电影在线| 欧美成人a视频| 中文字幕在线观看不卡视频| 国产日韩精品一区| 中文字幕人成不卡一区| 一区二区三区高清不卡| 全国精品久久少妇| 99综合影院在线| 欧美网站大全在线观看| 日韩精品中文字幕一区二区三区| 欧美变态口味重另类| 中文字幕一区二区三区在线播放 | 日本aⅴ免费视频一区二区三区| 日本va欧美va瓶| 91在线免费看| 3d动漫精品啪啪一区二区竹菊| 久久精品水蜜桃av综合天堂| 亚洲一区影音先锋| 成人av资源下载| 久久久久国产成人精品亚洲午夜| 亚洲国产精品嫩草影院| 一本大道av伊人久久综合| 中文字幕一区二区视频| 99久久久久久| 亚洲黄色免费网站| 欧美日韩不卡视频| 蜜桃一区二区三区在线| 欧美v国产在线一区二区三区|