2016-07-20 5 views
0

私は与えられたファイルにデジタル署名を適用するコードを書いています。 .crtファイルがあり、そのファイルを使用してKeyStoreインスタンスを構築する必要があります。次のように私が使用する方法は次のとおりです。KeyStore.builder - .crtファイル用の型パラメータ

Builder newInstance(String **type**, Provider provider, 
       File file, ProtectionParameter protection) 

は、しかし、私は何「タイプ」私は.CRTファイル、 を使用している場合、私にはないということが起こるかもしれ指定する必要がありますか分かりませんこれは私がデジタル署名を扱うのは初めてであるようなものを理解し、あなたが最初にJKS(Javaキーストアファイルを作成し、それを使用することができます

おかげで、歓声

+0

署名を確認しますか?または署名? –

+0

@MuhammadHamedその.crtファイルを使用して文書に署名したいのですが、そのことは申し訳ありません。署名や暗号を扱うのは初めてのことです –

+0

さらに、pfxまたはPKCS#12証明書ストアを使用して記号.pfxまたは.p12が付いています。署名プロセスには、この証明書に関連する鍵ペアがありますか?秘密鍵が必要です。 –

答えて

1

:-)このケースで私を判断してはいけません)秘密鍵(.pem)と証明書(.crt)を使用して

チェックImporting the private-key/public-certificate pair in the Java KeyStore

は、あなたが署名するこのキーストアを使用することができ、この答えは、ここに

KeyStore keystore = KeyStore.getInstance(TYPE_OF_KEYSTORE); 
keystore.load(new FileInputStream(PATH_TO_KEYSTORE), PASSWORD); 

を新たに作成したJavaキーストアファイルをロードする方法だと、ここでデジタル署名と検証するための例です

      PrivateKey oPrivateKey = (PrivateKey) keystore.getKey(sAlias,null); 


          Provider p = keystore.getProvider(); 
          // data to signed 
          byte[] data ="this is the just for test".getBytes(); 
          // Signing the data 
          Signature sig = Signature.getInstance("SHA1withRSA"); 
          sig.initSign(oPrivateKey); 

          sig.update(data); 
          byte[] signature = sig.sign(); // the digital signature 

          Signature verifier = Signature.getInstance("SHA1withRSA", p); 
          verifier.initVerify(oPublicCertificate); 
          verifier.update(data); 
          System.out.println("the verification result "+verifier.verify(signature)); 

http://muhammadhamed.blogspot.com/2010/04/accessing-ms-certificate-stores-in-java.html

私はこれが助けてくれることを望みます!

+0

ありがとう –

関連する問題