国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用J2SE 1.4進行Internet安全編程(下)(1)

2019-11-18 11:17:30
字體:
來源:轉載
供稿:網友

客戶端

java 安全套接擴展 (Java Secure Socket Extension, JSSE) 使 Internet 安全通信成為現實。它是 SSL 3.0 (Secure Socket Layer) 及 TLS 1.0 (Transport Layer Security,由 SSL 3.0 改善而來) 的框架和實現。這個包讓 Java 開發人員能夠開發安全的網絡應用;為基于 TCP/ip 的何應用協議,如 HTTP、FTP、Telnet、或者 NTTP,在客戶端和服務器端之間建立安全的數據通道。

在這篇文章的第一部分 (服務器端),作者已經具體說明了 SSL 和 JSSE,并且說明了如何開發服務器端支持 SSL 應用程序。那一部分中我們開發了一個 HTTPS 服務器,這是一個非常有用的應用程序,在這一部分中同樣會用到它。

在這篇文章涉及到客戶端的內容,它首先簡述 JSSE,然后會做這樣一些事情

l在客戶端使用 JSSE API

l一步步的開發一個支持 SSL 的客戶端應用程序

l開發簡單的支持 SSL 的客戶端應用程序

l從服務器端導出證書并在客戶端導入

l開發一個支持 SSL 的網頁瀏覽器

JSSE

Java 安全套接擴展 (JSSE) 提供了 SSL 和 TLS 協議的框架及實現。JSSE 將復雜的、根本的加密算法抽象化了,這樣就降低了受到敏感或者危險的安全性攻擊的風險。正如你在本文中看到的那樣,由于它能將 SSL 無縫地結合在應用當然,使安全應用的開發變得非常簡單。JSSE 框架可以支撐許多不同的安全通信協議,如 SSL 2.0 和 3.0 以及 TLS 1.0,但是 J2SE v1.4 只實現了 SSL 3.0 和 TLS 1.0。

用 JSSE 編寫客戶端應用程序

JSSE API 提供了擴充的網絡套接字類、信用和密匙治理,以及為簡化套接字創建而設計的套接字工廠框架,以此擴充 java.security 和 java.net 兩個包。這些類都包含在 javax.net 和 javax.net.ssl 包中。

javax.net.sll.SSLSocketFactory 類是一個創建安全套接字的對象工廠。可以通過下面兩種方法獲得 SSLSocketFactory 的實例:

1、調用 SSLSocketFactory.getDefault 來獲得默認的工廠。默認的工廠被配置為只答應服務器端驗證 (不答應客戶端驗證)。注重許多電子商務網站不需要客戶端驗證。

2、使用指定的配置來構造一個新的工廠 (這不在本文講述的范圍內)。

建立 SSLSocketFactory 實例之后,你就可以通過 SSLSocketFactory 實例的 createSocket 方法創建 SSLSocket 對象了。這里有一個例子,該例通過 SSL 端口 443 (這是 HTTPS 的默認端口) 創建套接字并連接到 Sun 的 WWW 服務器。

// Get a Socket factory

SocketFactory factory = SSLSocketFactory.getDefault();

// Get Socket from factory

Socket socket = factory.createSocket("www.sun.com", 443);

使用低層的 SSL 套接字

現在,讓我們看一個使用低層套接字在 HTTPS 服務器上打開一個 SSL 套接字連接的完整例子。在這個例子中,打開了一個到 HTTPS 服務器的 SSL 套接字連接,并且讀入默認文檔的內容。示例代碼 1 展示了這個應用程序,其中用于打開 SSL 套接字的代碼已經加黑顯示了。你將會看到,應用程序中其余代碼就是常規的輸入/輸出流代碼。

代碼示例 1:ReadHttpsURL1

import java.net.*;

import javax.net.*;

import javax.net.ssl.*;

public class ReadHttpsURL1 {

static final int HTTPS_PORT = 443;

public static void main(String argv[]) throws Exception {

if (argv.length != 1) {

System.out.

System.exit(0);

}

// Get a Socket factory

SocketFactory factory = SSLSocketFactory.getDefault();

// Get Socket from factory

Socket socket = factory.createSocket(argv[0], HTTPS_PORT);

BufferedWriter out

= new BufferedWriter(new OutputStreamWriter(

socket.getOutputStream()));

BufferedReader in



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 县级市| 曲靖市| 鄢陵县| 阳高县| 海南省| 基隆市| 绍兴县| 兴化市| 兰州市| 琼海市| 扎兰屯市| 红桥区| 安西县| 潍坊市| 永康市| 曲麻莱县| 富民县| 南京市| 江孜县| 河池市| 牡丹江市| 清河县| 沙田区| 高要市| 新竹市| 松阳县| 临夏市| 巴里| 阜新| 绥德县| 弥勒县| 宾阳县| 来宾市| 林甸县| 陇西县| 关岭| 故城县| 楚雄市| 方正县| 德庆县| 山阳县|