当前位置: 首页 > news >正文

备案网站有哪些资料福州做网站哪家好

备案网站有哪些资料,福州做网站哪家好,网站开发和软件开发工作,苏州网站设计价格Android的私钥和信任证书的格式必须是BKS格式的#xff0c;通过配置本地JDK#xff0c;让keytool可以生成BKS格式的私钥和信任证书,java本身没有BouncyCastle密库 ssl通道建立前必须进行协商#xff08;形成安全的通道--隧道技术#xff09;。 服务端#xff1a; View Co…Android的私钥和信任证书的格式必须是BKS格式的通过配置本地JDK让keytool可以生成BKS格式的私钥和信任证书,java本身没有BouncyCastle密库  ssl通道建立前必须进行协商形成安全的通道--隧道技术。 服务端 View Code 1 public class SSLServer {2 3 private static final int SERVER_PORT 50030;4 private static final String SERVER_KEY_PASSWORD 123456;5 private static final String SERVER_AGREEMENT TLS;//使用协议6 private static final String SERVER_KEY_MANAGER SunX509;//密钥管理器7 private static final String SERVER_KEY_KEYSTORE JKS;//密库这里用的是Java自带密库8 private static final String SERVER_KEYSTORE_PATH src/data/kserver.keystore;//密库路径9 private SSLServerSocket serverSocket; 10 11 public static void main(String[] args) { 12 SSLServer server new SSLServer(); 13 server.init(); 14 server.start(); 15 } 16 17 //由于该程序不是演示Socket监听所以简单采用单线程形式并且仅仅接受客户端的消息并且返回客户端指定消息 18 public void start() { 19 if (serverSocket null) { 20 System.out.println(ERROR); 21 return; 22 } 23 while (true) { 24 try { 25 System.out.println(Server Side......); 26 Socket s serverSocket.accept(); 27 InputStream input s.getInputStream(); 28 OutputStream output s.getOutputStream(); 29 30 BufferedInputStream bis new BufferedInputStream(input); 31 BufferedOutputStream bos new BufferedOutputStream(output); 32 33 byte[] buffer new byte[20]; 34 bis.read(buffer); 35 System.out.println(new String(buffer)); 36 37 bos.write(This is Server.getBytes()); 38 bos.flush(); 39 40 s.close(); 41 } catch (Exception e) { 42 System.out.println(e); 43 } 44 } 45 } 46 47 public void init() { 48 try { 49 //取得SSLContext 50 SSLContext ctx SSLContext.getInstance(SERVER_AGREEMENT); 51 //取得SunX509私钥管理器 52 KeyManagerFactory kmf KeyManagerFactory.getInstance(SERVER_KEY_MANAGER); 53 //取得JKS密库实例 54 KeyStore ks KeyStore.getInstance(SERVER_KEY_KEYSTORE); 55 //加载服务端私钥 56 ks.load(new FileInputStream(SERVER_KEYSTORE_PATH), SERVER_KEY_PASSWORD.toCharArray()); 57 //初始化 58 kmf.init(ks, SERVER_KEY_PASSWORD.toCharArray()); 59 //初始化SSLContext 60 ctx.init(kmf.getKeyManagers(),null, null); 61 //通过SSLContext取得ServerSocketFactory创建ServerSocket 62 serverSocket (SSLServerSocket) ctx.getServerSocketFactory().createServerSocket(SERVER_PORT); 63 } catch (Exception e) { 64 System.out.println(e); 65 } 66 } 67 } 客户端 View Code 1 public class MySSLSocket extends Activity {2 private static final int SERVER_PORT 50030;//端口号3 private static final String SERVER_IP 218.206.176.146;//连接IP4 private static final String CLIENT_KET_PASSWORD 123456;//私钥密码5 private static final String CLIENT_TRUST_PASSWORD 123456;//信任证书密码6 private static final String CLIENT_AGREEMENT TLS;//使用协议7 private static final String CLIENT_KEY_MANAGER X509;//密钥管理器8 private static final String CLIENT_TRUST_MANAGER X509;//9 private static final String CLIENT_KEY_KEYSTORE BKS;//密库这里用的是BouncyCastle密库10 private static final String CLIENT_TRUST_KEYSTORE BKS;//11 private static final String ENCONDING utf-8;//字符集12 private SSLSocket Client_sslSocket;13 private Log tag;14 private TextView tv;15 private Button btn;16 private Button btn2;17 private Button btn3;18 private EditText et;19 20 /** Called when the activity is first created. */21 Override22 public void onCreate(Bundle savedInstanceState) {23 super.onCreate(savedInstanceState);24 setContentView(R.layout.main);25 tv (TextView) findViewById(R.id.TextView01);26 et (EditText) findViewById(R.id.EditText01);27 btn (Button) findViewById(R.id.Button01);28 btn2 (Button) findViewById(R.id.Button02);29 btn3 (Button) findViewById(R.id.Button03);30 31 btn.setOnClickListener(new Button.OnClickListener(){32 Override33 public void onClick(View arg0) {34 if(null ! Client_sslSocket){35 getOut(Client_sslSocket, et.getText().toString());36 getIn(Client_sslSocket);37 et.setText();38 }39 }40 });41 btn2.setOnClickListener(new Button.OnClickListener(){42 Override43 public void onClick(View arg0) {44 try {45 Client_sslSocket.close();46 Client_sslSocket null;47 } catch (IOException e) {48 e.printStackTrace();49 }50 }51 });52 btn3.setOnClickListener(new View.OnClickListener(){53 Override54 public void onClick(View arg0) {55 init();56 getIn(Client_sslSocket);57 }58 });59 }60 61 public void init() {62 try {63 //取得SSL的SSLContext实例64 SSLContext sslContext SSLContext.getInstance(CLIENT_AGREEMENT);65 //取得KeyManagerFactory和TrustManagerFactory的X509密钥管理器实例66 KeyManagerFactory keyManager KeyManagerFactory.getInstance(CLIENT_KEY_MANAGER);67 TrustManagerFactory trustManager TrustManagerFactory.getInstance(CLIENT_TRUST_MANAGER);68 //取得BKS密库实例69 KeyStore kks KeyStore.getInstance(CLIENT_KEY_KEYSTORE);70 KeyStore tks KeyStore.getInstance(CLIENT_TRUST_KEYSTORE);71 //加客户端载证书和私钥,通过读取资源文件的方式读取密钥和信任证书72 kks.load(getBaseContext()73 .getResources()74 .openRawResource(R.drawable.kclient),CLIENT_KET_PASSWORD.toCharArray());75 tks.load(getBaseContext()76 .getResources()77 .openRawResource(R.drawable.lt_client),CLIENT_TRUST_PASSWORD.toCharArray());78 //初始化密钥管理器79 keyManager.init(kks,CLIENT_KET_PASSWORD.toCharArray());80 trustManager.init(tks);81 //初始化SSLContext82 sslContext.init(keyManager.getKeyManagers(),trustManager.getTrustManagers(),null);83 //生成SSLSocket84 Client_sslSocket (SSLSocket) sslContext.getSocketFactory().createSocket(SERVER_IP,SERVER_PORT);85 } catch (Exception e) {86 tag.e(MySSLSocket,e.getMessage());87 }88 }89 90 public void getOut(SSLSocket socket,String message){91 PrintWriter out;92 try {93 out new PrintWriter(94 new BufferedWriter(95 new OutputStreamWriter(96 socket.getOutputStream()97 )98 ),true);99 out.println(message); 100 } catch (IOException e) { 101 e.printStackTrace(); 102 } 103 } 104 105 public void getIn(SSLSocket socket){ 106 BufferedReader in null; 107 String str null; 108 try { 109 in new BufferedReader( 110 new InputStreamReader( 111 socket.getInputStream())); 112 str new String(in.readLine().getBytes(),ENCONDING); 113 } catch (UnsupportedEncodingException e) { 114 e.printStackTrace(); 115 } catch (IOException e) { 116 e.printStackTrace(); 117 } 118 new AlertDialog 119 .Builder(MySSLSocket.this) 120 .setTitle(服务器消息) 121 .setNegativeButton(确定, null) 122 .setIcon(android.R.drawable.ic_menu_agenda) 123 .setMessage(str) 124 .show(); 125 } 126 }  转载于:https://www.cnblogs.com/sunfb/archive/2013/02/27/2935525.html
http://wiki.neutronadmin.com/news/323207/

相关文章:

  • 互联网站已有网站开发app
  • 浙江台州做网站的公司住建综合管理平台
  • 网站app建设图片素材搜索引擎的营销方法
  • 建设网上购物网站什么网站可以自己做房子设计图
  • 弋阳网站建设制作高端网站开发哪家好
  • 新乡正规网站建设哪家便宜百度地图关键词排名优化
  • 开发公司网站公司wordpress免费主题 开源
  • 注册查询网站重庆建设工程交易网
  • 网站建设收费价格网站建设与管理案例教程教学大纲
  • 郑州广告公司网站建设加盟类网站怎么做
  • 备案网站管理系统公司简介怎么写 范文
  • 那样的网站免费发布推广信息的平台
  • 陕西公路工程建设有限公司网站怎样免费建设网站
  • 网站开发要怎么学wordpress模版侵权
  • 网站开发的外文文献WordPress快捷登录如何关闭
  • 企业宣传类网站建设南阳网站建站公司
  • 平面排版网站建筑网挂兼职
  • 阿里云做电影网站吗网站建设与运营实验
  • 违反建设投诉网站举报怎样帮拍卖网站做策划
  • 网站推广的效果seo网站推广服务
  • 海南省住房和城乡建设厅官网网站微商城源码
  • 许昌市住房建设局网站三亚建设网站
  • 网站后台点击添加图片没有反应网站设计案例欣赏
  • 网站建设模拟软件小程序源码开发
  • 苏州制作网站哪家好网站服务器如何做热备价
  • 做字幕网站有哪些广州建站免费模板
  • 怎样提高网站点击率怎么让WORDPRESS首页显示菜单
  • 网站上线 串词app服务器搭建教程
  • 手机怎么做弹幕小视频网站初中学生做那个的网站
  • 建设网站需要哪些硬件宁波建设网站价格