之前在Windows上面輕易的找到一個Fat Jar的安裝包
也不算是安裝包,就是下載了之後放到eclipse/plugin之下
重新啟動eclipse之後在project按右鍵,就會看到Build Fat Jar的選項
但這次在Fedora上面依樣畫葫蘆竟然不行
最後又發現了一個善心人士的網頁
http://redbug.twbbs.org/index.php/2008/07/28/397
從Eclipse的選單,help-> software updates -> Find and Install -> Search for new features to install -> new remote site
會跳出一個輸入對話窗,要求plugin的名字和更新的來源,輸入如下:
URL: http://kurucz-grafika.de/fatjar
系統會顯示可以下載安裝Fat Jar
記得要用root安裝!
安裝完重新開啟就可以囉!
以上!
2009年8月12日 星期三
2009年8月4日 星期二
[Linux][Fedora 11]Java Secure Socket(SSL),使用keytool產生keystore
原文網址:http://stilius.net/java/java_ssl.php
1. 第一步是要建立Certificate
利用J2SE SDK提供的keytool,設定自己的檔名跟密法方式如下
#keytool -genkey -keystore mySrvKeystore -keyalg RSA
接下來需要填寫一些資訊,照填之後就創立了一個名稱為mySrvKeystore的keystore
這分keystore,client與server端都要放
2. 撰寫server code(EchoServer.java)
--------------------------------------------------------------------------
import javax.net.ssl.SSLServerSocket;
import javax.net.ssl.SSLServerSocketFactory;
import javax.net.ssl.SSLSocket;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
public
class EchoServer {
public
static
void
main(String[] arstring) {
try {
SSLServerSocketFactory sslserversocketfactory =
(SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
SSLServerSocket sslserversocket =
(SSLServerSocket) sslserversocketfactory.createServerSocket(9999);
SSLSocket sslsocket = (SSLSocket) sslserversocket.accept();
InputStream inputstream = sslsocket.getInputStream();
InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
String string = null;
while ((string = bufferedreader.readLine()) != null) {
System.out.println(string);
System.out.flush();
}
} catch (Exception exception) {
exception.printStackTrace();
}
}
}
--------------------------------------------------------------------------
Compile it by using simple command:
javac EchoServer.java
3. 撰寫client code(EchoClient.java)
--------------------------------------------------------------------------
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
import java.io.*;
public
class EchoClient {
public
static
void
main(String[] arstring) {
try {
SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
SSLSocket sslsocket = (SSLSocket) sslsocketfactory.createSocket("localhost", 9999);
InputStream inputstream = System.in;
InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
OutputStream outputstream = sslsocket.getOutputStream();
OutputStreamWriter outputstreamwriter = new OutputStreamWriter(outputstream);
BufferedWriter bufferedwriter = new BufferedWriter(outputstreamwriter);
String string = null;
while ((string = bufferedreader.readLine()) != null) {
bufferedwriter.write(string + '\n');
bufferedwriter.flush();
}
} catch (Exception exception) {
exception.printStackTrace();
}
}
}
--------------------------------------------------------------------------
Compile it by using simple command:
javac EchoClient.java
4. 執行server
java -Djavax.net.ssl.keyStore=mySrvKeystore -Djavax.net.ssl.keyStorePassword=123456 EchoServer
5. 執行client
java -Djavax.net.ssl.trustStore=mySrvKeystore -Djavax.net.ssl.trustStorePassword=123456 EchoClient
1. 第一步是要建立Certificate
利用J2SE SDK提供的keytool,設定自己的檔名跟密法方式如下
#keytool -genkey -keystore mySrvKeystore -keyalg RSA
接下來需要填寫一些資訊,照填之後就創立了一個名稱為mySrvKeystore的keystore
這分keystore,client與server端都要放
2. 撰寫server code(EchoServer.java)
--------------------------------------------------------------------------
import javax.net.ssl.SSLServerSocket;
import javax.net.ssl.SSLServerSocketFactory;
import javax.net.ssl.SSLSocket;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
public
class EchoServer {
public
static
void
main(String[] arstring) {
try {
SSLServerSocketFactory sslserversocketfactory =
(SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
SSLServerSocket sslserversocket =
(SSLServerSocket) sslserversocketfactory.createServerSocket(9999);
SSLSocket sslsocket = (SSLSocket) sslserversocket.accept();
InputStream inputstream = sslsocket.getInputStream();
InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
String string = null;
while ((string = bufferedreader.readLine()) != null) {
System.out.println(string);
System.out.flush();
}
} catch (Exception exception) {
exception.printStackTrace();
}
}
}
--------------------------------------------------------------------------
Compile it by using simple command:
javac EchoServer.java
3. 撰寫client code(EchoClient.java)
--------------------------------------------------------------------------
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
import java.io.*;
public
class EchoClient {
public
static
void
main(String[] arstring) {
try {
SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
SSLSocket sslsocket = (SSLSocket) sslsocketfactory.createSocket("localhost", 9999);
InputStream inputstream = System.in;
InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
OutputStream outputstream = sslsocket.getOutputStream();
OutputStreamWriter outputstreamwriter = new OutputStreamWriter(outputstream);
BufferedWriter bufferedwriter = new BufferedWriter(outputstreamwriter);
String string = null;
while ((string = bufferedreader.readLine()) != null) {
bufferedwriter.write(string + '\n');
bufferedwriter.flush();
}
} catch (Exception exception) {
exception.printStackTrace();
}
}
}
--------------------------------------------------------------------------
Compile it by using simple command:
javac EchoClient.java
4. 執行server
java -Djavax.net.ssl.keyStore=mySrvKeystore -Djavax.net.ssl.keyStorePassword=123456 EchoServer
5. 執行client
java -Djavax.net.ssl.trustStore=mySrvKeystore -Djavax.net.ssl.trustStorePassword=123456 EchoClient
訂閱:
文章 (Atom)