posts - 72, comments - 66, trackbacks - 0, articles - 0

          keystore存儲對稱密鑰

          Posted on 2008-09-02 10:42 Fingki.li 閱讀(802) 評論(0)  編輯  收藏 所屬分類: About security
          keystore是個密鑰存儲庫,我們經常用他來存儲非對稱密鑰,但有時我們也需要它來存儲一些對稱密鑰。
           public void createKeyStore() {



          try {



          KeyGenerator keyGen = KeyGenerator.getInstance("DES");







          SecureRandom random = SecureRandom.getInstance("SHA1PRNG", "SUN");







          keyGen.init(56, random);







          SecretKey secretKey = keyGen.generateKey();







          KeyStore ks = KeyStore.getInstance("jceks");







          char password[] = {'c', 'h', 'a', 'n', 'g', 'e','i','t' };







          // Create an empty keystore



          ks.load(null, password);







          KeyStore.SecretKeyEntry skEntry = new KeyStore.SecretKeyEntry(secretKey);







          ks.setEntry("myKey", skEntry, new KeyStore.PasswordProtection(password));



           



          // store away the keystore



          java.io.FileOutputStream fos =



          new java.io.FileOutputStream("mystore");



          ks.store(fos, password);



          fos.close();







          } catch (NoSuchAlgorithmException nsaex) {



          nsaex.printStackTrace(System.err);



          } catch (NoSuchProviderException nspex) {



          nspex.printStackTrace(System.err);



          } catch (KeyStoreException ksex) {



          ksex.printStackTrace(System.err);



          } catch (CertificateException cex) {



          cex.printStackTrace(System.err);



          } catch (IOException ioex) {



          ioex.printStackTrace(System.err);



          }



          }







          上面的例子是存一個DES密鑰。



          需要注意的就是這個keystore的類型,必須是jceks,



          之前我就是使用默認的jks,導致報錯。





          主站蜘蛛池模板: 横峰县| 桦南县| 上思县| 静乐县| 铜陵市| 略阳县| 曲沃县| 蒙阴县| 平度市| 饶平县| 辽阳市| 介休市| 福建省| 新田县| 武平县| 浮梁县| 东山县| 集安市| 基隆市| 涡阳县| 黑龙江省| 娱乐| 阳春市| 萨嘎县| 香格里拉县| 巴马| 武宣县| 方山县| 绥江县| 海盐县| 织金县| 建昌县| 武宣县| 彩票| 云和县| 秭归县| 丰顺县| 祁东县| 红河县| 韩城市| 安塞县|