posts - 39,  comments - 263,  trackbacks - 0
 

这是网上google的

-genkey      在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书
-alias       产生别名
-keystore    指定密钥库的名称(产生的各类信息将不在.keystore文件中
-keyalg      指定密钥的算法   
-validity    指定创建的证书有效期多少天
-keysize     指定密钥长度
-storepass   指定密钥库的密码
-keypass     指定别名条目的密码
-dname       指定证书拥有者信息 例如:  "CN=sagely,OU=atr,O=szu,L=sz,ST=gd,C=cn"
-list        显示密钥库中的证书信息      keytool -list -v -keystore sage -storepass ....
-v           显示密钥库中的证书详细信息
-export      将别名指定的证书导出到文件  keytool -export -alias caroot -file caroot.crt
-file        参数指定导出到文件的文件名
-delete      删除密钥库中某条目          keytool -delete -alias sage -keystore sage
-keypasswd   修改密钥库中指定条目口令    keytool -keypasswd -alias sage -keypass .... -new .... -storepass ... -keystore sage
-import      将已签名数字证书导入密钥库  keytool -import -alias sage -keystore sagely -file sagely.crt
             导入已签名数字证书用keytool -list -v 以后可以明显发现多了认证链长度,并且把整个CA链全部打印出来。

 

posted @ 2005-10-29 21:46 nake 阅读(386) | 评论 (0)编辑 收藏

package publictool.cellEditor;

import java.awt.Component;
import java.awt.Frame;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.EventObject;

import javax.swing.AbstractCellEditor;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JTable;
import javax.swing.table.TableCellEditor;

import rootwindow.ValueMap;

import com.borland.jb.io.InputStreamToByteArray;

public class ImageCellEditor extends AbstractCellEditor implements
  TableCellEditor, ActionListener {
 // 鼠标点击次数
 public int CLICKCOUNT = 2;

 JButton button;

 // button 命令的名称
 protected static final String EDIT = "CELLEDITOR";

 // 对话框中确定的命令要是"OK"
 protected static final String DIALOG_OK = "OK";

 // 最终的返回一个object
 Object curobject;

 // 所有的弹出式窗口都必须是Dialog的子类
 // 而且必须有getSelectInPut
 // CellEditorDialog dialog1;

 JDialog dialog1;

 ValueMap valuemap;

 Frame frame;

 JFileChooserx jfc;

 public ImageCellEditor(Frame frame, ValueMap valuemap) {
  // super(frame, valuemap);
  init();
 }

 public void init() {
  System.out.println("sss1");
  button = new JButton();
  button.setActionCommand(EDIT);
  button.addActionListener(this);
  button.setBorderPainted(false);
  /*
   * dialog1 = new CellEditorDialog(frame, "", true, valuemap, "select
   * bcode,bname from bcode", "bname", this, null);
   */

  jfc = new JFileChooserx();
  dialog1 = jfc.createDialog(frame);
  jfc.addActionListener(this);

 }

 public Object getCellEditorValue() {

  System.out.println("3");
  return curobject;

 }

 public Component getTableCellEditorComponent(JTable table, Object value,
   boolean isSelected, int row, int column) {
  System.out.println("4");
  // curobject =jfc .getSelectedFile();
/*
  File file = jfc.getSelectedFile();
  InputStream is = null;
  InputStreamToByteArray imputs = null;
  byte[] b = new byte[102400];
  if (file != null) {
   try {
    System.out.println("5");
    is = new FileInputStream(file);
    is.read(b);

    imputs = new InputStreamToByteArray(b);
    // imputs = (InputStreamToByteArray)is;

   } catch (Exception e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
   }
    curobject = imputs;
   //curobject = null;
  }*/
  curobject = value;
  System.out.println("value = "+value);
  System.out.println("getTableCellEditorComponent"+curobject);
  return button;

 }

 // 默认鼠标双击才可以编辑
 public boolean isCellEditable(EventObject anEvent) {
  if (anEvent instanceof MouseEvent) {
   return ((MouseEvent) anEvent).getClickCount() >= CLICKCOUNT;
  }
  return true;
 }

 /**
  * Handles events from the editor button and from the dialog's OK button.
  */
 public void actionPerformed(ActionEvent e) {
  System.out.println("command=" + e.getActionCommand());
  if (EDIT.equals(e.getActionCommand())) {
   // The user has clicked the cell, so
   // bring up the dialog.

   dialog1.setVisible(true);

   // Make the renderer reappear.
   fireEditingStopped();
   System.out.println("1");
  } else if ("ApproveSelection".equals(e.getActionCommand())) { // User
   // pressed
   // dialog's
   // "OK"
   // button.
   File file = jfc.getSelectedFile();
   if (file != null) {
    InputStream is = null;
    InputStreamToByteArray imputs = null;
    byte[] b = new byte[102400];
    try {
     System.out.println("6");
     is = new FileInputStream(file);
     // InputStreamToByteArray imputs = new
     // InputStreamToByteArray(null);
     is.read(b);
     imputs = new InputStreamToByteArray(b);
     curobject = imputs;
     // imputs = (InputStreamToByteArray)is;
     // b = new byte[1024];
     // is.read(b);
    } catch (Exception e1) {
     // TODO Auto-generated catch block
     e1.printStackTrace();
    }
   }
   dialog1.dispose();
   

  }
   else if ("CancelSelection".equals(e.getActionCommand())) {
  
   dialog1.dispose();
  
   }
 }

 class JFileChooserx extends JFileChooser implements ActionListener {
  JDialog dialog = null;

  public JFileChooserx() {
   super();
  }

  public JDialog createDialog(Component parent) throws HeadlessException {

   return dialog = super.createDialog(parent);
  }

  public void actionPerformed(ActionEvent e) {
   
   if ("CancelSelection".equals(e.getActionCommand())) {
    dialog.dispose();
   }
  }
 }
}

有几个地方要注意JFileChooser的createDialog(Component parent)是protected的,我要覆盖它
jdbtable里存图片是用InputStreamToByteArray 来存储的,这里我还有个问题如何把读出来的图片,存到数据库中。
我现在是读取图片--放在byte[]中--数据库,这样一来我不知道byte要设置多大的长度,在控制台老报“Premature end of JPEG file”
但是这不是一个异常。

posted @ 2005-10-23 23:34 nake 阅读(967) | 评论 (0)编辑 收藏
   唉,java,内存,速度。
   再见了跟我四年的本本,谁叫这个世界上有java,谁叫你自己不会加速。计算机的速度快了吗?为什么运行软件的速度越来越慢。哦。是软件越来越庞大,即使硬件速度越来越快,计算机的速度也不会直线上升。因为计算机是由硬件和软件组成的。再见了本本,但我是不会卖掉你的,我可能拿你来研究linux或网络,或者给爸爸上网用^_^。
   不就是java吗,用jb,eclipse多打开两个也不怕。cpu要快的AMD,内存我加双通道(半年后),硬盘SATA的。
posted @ 2005-10-20 22:34 nake 阅读(445) | 评论 (0)编辑 收藏

天河、花园线班车非高峰期调整时刻表(9月22日) 丽江车队将从2005年9月26日开始,对丽江班车的班次调整如下: 一、取消天河、花园班车非高峰运输时段的班次,调整后的班车时刻表如下:

花园班车:(周一至周五)

发车时间

06:30 07:00  07:15 07:30  07:45  08:00  08:150  8:30

返程时间

07:15 07:45即停即走08:15即停即走08:45即停即走09:15

发车时间17:00 17:30 18:00 18:30 19:00 19:30

返程时间17:45 18:15 18:45 19:15 19:45 20:15

天河班车:(周一至周五)

发车时间

07:00 07:15 07:30 07:45 08:00 08:15 08:30 08:45

 返程时间即停即走07:55即停即走08:25即停即走08:55即停即走09:25

发车时间

17:15 17:45  18:15  18:45  19:15  19:45

 返程时间17:55  18:25  18:55  19:25  19:55  20:25

posted @ 2005-10-18 23:31 nake 阅读(262) | 评论 (0)编辑 收藏
仅列出标题
共10页: First 上一页 2 3 4 5 6 7 8 9 10 下一页 
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿(18)

我参与的团队

随笔档案(39)

收藏夹(1)

搜索

  •  

积分与排名

  • 积分 - 450861
  • 排名 - 118

最新评论

阅读排行榜

评论排行榜