6

サードパーティのツールを使用して署名を検証し、署名から証明書の詳細 (シリアル番号、CA など) を取得します。このユーティリティの問題は、ライセンスがあり、特定のマシンでしか動作しないことです。

シンプルな Java または .net コードを使用してデータに対して署名を検証できますか? (有料アプリケーションを使用する代わりに)。署名済みデータから証明書情報を抽出するための秘密鍵がありません。

または、誰かがJavaまたは.netのサンプルコードを提案して、pfxファイルがある場合に証明書の詳細を抽出できるかどうか。署名されたデータから。

データは非対称暗号化で署名されます。

4

2 に答える 2

5

証明書から詳細を抽出するには:

  1. 証明書データを保持する文字列を作成します。それが-----BEGIN CERTIFICATE-----最初と-----END CERTIFICATE-----最後にあることを確認してください。
  2. Java で次のコードを使用して、証明書の詳細を抽出します。

InputStream inStream = new ByteArrayInputStream(certString.toString().getBytes("UTF-8"));
BufferedInputStream bis = new BufferedInputStream(inStream);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
Certificate cert = cf.generateCertificate(bis);
X509Certificate xCert = (X509Certificate)cert;

System.out.println("Certificate Type: "+cert.getType());
System.out.println("Public Key: \n"+cert.getPublicKey());
try{
      System.out.println("Signature Algorithm"+xCert.getSigAlgName());
      System.out.println("IssuerDN : "+xCert.getIssuerDN());
      System.out.println("Serial Number : "+xCert.getSerialNumber());
      System.out.println("SubjectDN : "+xCert.getSubjectDN());
}catch(Exception exp){
      :
}

于 2011-06-08T04:52:57.430 に答える
1

PFX ファイルがある場合は、署名を検証するために必要な公開鍵証明書が含まれている可能性があります。

または、署名が PKCS#7 署名の場合、署名自体にデータ、署名、および証明書が保持されます。PKCS#7 が切り離されていないと仮定します。

署名者に確認のために証明書を転送する方法を尋ねる必要があります。

于 2011-06-17T15:20:12.473 に答える