Javaコード署名ガイド

このガイドでは、Javaコードへの署名を、 OV / IV or EV SSL.comからのコード署名証明書。 これらの手順では、Java Development Kit(JDK)がコンピューターにインストールされており、 keytool & jarsigner コマンドは PATH に含まれています。 Yubikey コード署名手順では、証明書がスロット 9a にインストールされていることを前提としています。 YubiKey FIPS トークン。SSL.comで出荷されます。

1年2023月XNUMX日より, SSL.com の組織検証 (OV) および個人検証 (IV) コード署名証明書は、連邦情報処理規格 140-2 (FIPS 140-2) USB トークンまたは eSigner クラウド コード署名サービスを通じて発行されています。 この変更は準拠しています コード署名キーのセキュリティを強化するための認証局/ブラウザ (CA/B) フォーラムの新しいキー ストレージ要件に準拠しています。

コード署名証明書をまだ持っておらず、どのタイプが必要かわからない場合は、こちらをお読みください このFAQ.

SSL.com OV / IVコード署名 証明書は、不正な改ざんや侵害からコードを保護する経済的な方法であり、わずか 年間$ 64.50.

今すぐ注文

OV/IV コード署名 (1 年 2023 月 XNUMX 日より前に発行された OV/IV 証明書のみ)

 

方法1:生成 CSR およびブラウザでのPFXファイル

Javaコード署名をすぐに開始する最も簡単な方法は、 CSR SSL.comから証明書を取得して新しいJavaキーストアにインストールするときのPFXファイル。

注: 署名することも可能です .jar 追加することにより、変換されていないPFXファイルを直接含むファイル -storetype pkcs12 フラグを jarsigner
  1. に示す手順に従います コード署名証明書の注文と取得 証明書を注文し、証明書と秘密キーを含むPFXファイルをダウンロードします。
  2. 以下のコマンドを使用して、同じパスワードでPFXを新しいキーストアにインポートします。 (交換 MY-CERTIFICATE.p12 & MY-KEYSTORE.jks PFXファイルの実際の名前と、キーストアに付けるファイル名を入力します。 また、 destalias は任意であり、必要に応じて別のエイリアス値を使用できます。)
    keytool -importkeystore -srckeystore MY-PFX.p12 -srcstoretype pkcs12 -srcalias 1 -destkeystore MY-KEYSTORE.jks -deststoretype JKS -destalias コード署名
    注: の値 -srcalias SSL.comからダウンロードされたPFXファイルの場合、通常は 1、ただし、コマンドを実行してこれを確認できます keytool -list -v -storetype pkcs12 -keystore MY-PFX.P12 表示された値を確認する Alias name.
  3. 宛先キーストアのパスワードと、ソースキーストアのパスワード(PFXの作成時に入力したパスワード)の入力を求められます。 次で始まる警告メッセージが表示されることもあります Warning: The JKS keystore uses a proprietary format。 このメッセージは無視してかまいません。

方法2:キーペアを生成し、 CSR Javaで

キーペアを生成したい場合 CSR Javaの場合は、このセクションの手順に従ってください。 プロセスは、作成に使用されるものと同じです。 CSR のために SSL /TLS 証明書 Javaで。

キーストアとキーペアを作成する
  1. 最初に、キーストアと公開/秘密キーのペアを作成します。 Javaは拡張子が付いたファイルを使用します .jks (Java KeyStore)証明書と暗号鍵を格納します。 次のコマンドを入力して、キーストアと3072ビットのRSAキーペアを生成します。 (交換 MY-KEYSTORE.jks ファイルに付ける名前を付けます。)
    keytool -genkeypair -alias codesigning -keyalg RSA -keysize 3072 -keystore MY-KEYSTORE.jks
  2. 一連のプロンプトが表示されます。 最初に、キーストアのパスワードを作成して確認し、次に要求された情報を入力して確認します。 (すべて大文字で表示されている値を独自の情報に置き換えます。)
    キーストアのパスワードを入力してください:新しいパスワードを再入力してください:あなたの姓名は何ですか? [不明]:FIRSTNAME LASTNAMEあなたの組織の名前は何ですか? [不明]:会社あなたの市または地域の名前は何ですか? [不明]:CITYあなたの州または県の名前は何ですか? [不明]:STATEこのユニットのXNUMX文字の国コードは何ですか? [不明]:US CN = FIRSTNAME LASTNAME、OU = DEPARTMENT、O = COMPANY、L = CITY、ST = STATE、C = USは正しいですか? [いいえはい
  3. キーストアファイルが生成され、作成する準備が整いました CSR.
生成する CSR
  1. 次のコマンドを入力して、 CSR 先ほど作成したキーストアから。 (交換 MY-KEYSTORE.jks キーストアの作成時に使用した値と MY-CSR.csr あなたが使用したい名前で CSR.)
    keytool -certreq -alias codesigning -file MY-CSR.csr -キーストアMY-KEYSTORE.jks
  2. キーストアの生成時に作成したパスワードを入力します。
    キーストアのパスワードを入力:
  3.   CSR 作成されました。 SSL.comから証明書を注文する準備ができている場合は、テキストエディターでファイルを開いて、コピーして貼り付けます。 CSR 注文時のフィールド。 ファイルの内容は、次の例のようになります。
    -----BEGIN NEW CERTIFICATE REQUEST-----
    MIIC5TCCAc0CAQAwcDELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVNUQVRFMQ0wCwYD
    VQQHEwRDSVRZMRAwDgYDVQQKEwdDT01QQU5ZMRMwEQYDVQQLEwpERVBBUlRNRU5U
    MRswGQYDVQQDExJGSVJTVE5BTUUgTEFTVE5BTUUwggEiMA0GCSqGSIb3DQEBAQUA
    A4IBDwAwggEKAoIBAQCrRyk8VLs1THls+vfz0YtMJ3qYYl4c5c499d1YSbfQHa6L
    kIYhKTxvgdtbD+ePDigKB40CpeuMp5Yu8R6g2YIVBpGMrejAZYAmrzs6tfjpelh0
    ocSDwYr7H8qQ9jq6MfZTu6J7EjS5RMODB6MVq1usKg3H866xbi6lqAtcktEF+zlM
    4FW9Tm3H/DW2G7EnTjlMPzgaXNIU7lLar7YAWPJgv83NV8lQNCDW4lFlZLWBU95r
    YkJ4gfWUFUyPc+AiGbsyDdrVjPvF5yaebnFDrwheFaWeTTigSfLY688G7bpA8VvE
    lKioCl8nlJlc9HOBNKKdhs4qEtF0BwSE8tOgbkWPAgMBAAGgMDAuBgkqhkiG9w0B
    CQ4xITAfMB0GA1UdDgQWBBTmVpJp824krUaJKrQNhsSbVjJA1jANBgkqhkiG9w0B
    AQsFAAOCAQEALlux89RkXyHN4PQqQHbShSeTTWLURII+F+OSK9N1RS5l8V7AMcRM
    wvOkPP7JBRCKiaFGTW+5vcLQNnWRqQZMe0I4E0jzhL2gGsdChPIJy9Jwgn3Rzxmw
    8V0lBY1SHQ9LKgSK0jIer3PQhXHDJlE2g2Dx8nJ4WJk7l2OTF9Kkly9hg8MOQdeg
    VIcs3HLsVI9Cwd6UHRT6ruKL3+bRgEcb6qj+qcrKHkzN7KXbOEznd10nAm87wENS
    mTb012ZFMlpUDvPNAHQgoGJ6slA+pIoH1fvrkosjql7R/H7Q+onm37Qa6d9L2ZqM
    MhgNpNWVwI0UBU4Xy4p9oUCJnvHhQ7U+3w==
    -----END NEW CERTIFICATE REQUEST-----
証明書の注文と取得
  1. に示す手順に従います コード署名証明書の注文と取得 手順24まで。すぐにクリックするのではなく、 証明書を生成 ボタン、ラベルの付いたボックスをチェック 私は自分のものを持っています CSR.
    私は自分のものを持っています CSR
  2. 貼り付け CSR フォームフィールドに入力し、 証明書を生成
    貼り付ける CSR 証明書を生成します
  3. クリック ダウンロード ボタンをクリックして保存します .crt キーストアを生成したのと同じ場所にファイルを置きます。
    ダウンロード
証明書をキーストアにインポート
  1. 次のコマンドを使用して、証明書をJavaキーストアファイルにインポートします。 (MY-CERTIFICATE.crtおよびMY-KEYSTORE.jksを実際のファイル名に置き換えます。)
    keytool -importcert -file MY-CERTIFICATE.crt -keystore MY-KEYSTORE.jks -trustcacerts -alias コード署名
  2. プロンプトが表示されたら、キーストアのパスワードを入力します。
    キーストアのパスワードを入力:  
  3. 証明書がキ​​ーストアにインストールされ、ファイルへの署名を開始する準備ができました。
    証明書の返信がキーストアにインストールされました

Jarsignerでファイルに署名

  1. 次のコマンドを使用して、タイムスタンプ付きのデジタル署名を .jar ファイル。 (交換 /PATH/TO/MY-KEYSTORE.jks & MY-JAR.jar 使用している実際のファイル名。 キーストアの設定時に別のエイリアスを使用した場合は、それを codesigning コマンドで)。
    jarsigner -tsa http://ts.ssl.com -keystore MY-KEYSTORE.jksMY-JAR.jarコード署名
    注:署名することも可能です .jar 追加することにより、変換されていないPFXファイルを直接含むファイル -storetype pkcs12 フラグを jarsigner

    注: デフォルトでは、SSL.com は ECDSA キーからのタイムスタンプをサポートしています。

    このエラーが発生した場合: The timestamp certificate does not meet a minimum public key length requirement、ソフトウェア ベンダーに連絡して、ECDSA キーからのタイムスタンプを許可する必要があります。

    ソフトウェア ベンダーが通常のエンドポイントの使用を許可する方法がない場合は、このレガシー エンドポイントを使用できます。 http://ts.ssl.com/legacy RSA タイムスタンプ ユニットからタイムスタンプを取得します。
  2. プロンプトでキーストアのパスワードを入力します。
    キーストアのパスフレーズを入力します。 
  3. これでファイルが署名されました。 次のコマンドで署名を確認できます。
    jarsigner -verify -verbose MY-JAR.jar
  4. ファイルが正常に署名された場合、コマンドの出力には次の行が含まれます。
    s =署名が検証されました
    

 

YubiKey を使用した IV、OV、および EV コード署名

SSL.com EVコード署名 証明書は、Windows 10カーネルモードコード署名と、SmartScreenレピュテーションの即時向上を提供します。 年間$ 240.00。 彼らは安全に配信されます YubiKey FIPS XNUMX要素認証を備えたUSBトークン。

今すぐ注文

 

PKCS#11ドライバーをインストールしてeToken.cfgファイルを作成する

Windows
  1. OpenSCの指示に従ってOpenSCをインストールします。 Windowsクイックスタート.
  2. OpenSC PKCS#11ドライバーを見つけます。 デフォルトのインストール場所は C:\Program Files\OpenSC Project\OpenSC\pkcs11\opensc-pkcs11.dll.
  3. 構成ファイルを作成し、それを便利な場所(ホームディレクトリなど)に保存します。 ファイル名は任意ですが、このガイドでは使用します yubikey-pkcs11-java.cfg。 ファイルには次の情報が含まれている必要があります。
    名前= OpenSC-PKCS11説明= OpenSCライブラリ経由のSunPKCS11 = C:\ Program Files \ OpenSC Project \ OpenSC \ pkcs11 \ opensc-pkcs11.dll slotListIndex = 0
macOS
  1. インストールを開始する OpenSC。 使うなら 自作 パッケージマネージャーとして、次のコマンドでOpenSCをインストールできます。
    醸造インストールopensc
  2. OpenSC PKCS#11ドライバーを見つけます。 Homebrewを使用してインストールした場合、ファイルは次の場所にあります。 /usr/local/lib/opensc-pkcs11.so.
  3. 構成ファイルを作成し、それを便利な場所(ホームディレクトリなど)に保存します。 ファイル名は任意ですが、このガイドでは使用します yubikey-pkcs11-java.cfg。 ファイルには次の情報が含まれている必要があります。
    名前= OpenSC-PKCS11説明= OpenSCライブラリ経由のSunPKCS11 = /usr/local/lib/opensc-pkcs11.so slotListIndex = 0

Jarsignerでファイルに署名

  1. 次のコマンドを使用して、タイムスタンプ付きのデジタル署名を .jar ファイル。 (交換 MY-JAR.jar 使用している実際のファイル名で)
    jarsigner -tsa http://ts.ssl.com -providerClass sun.security.pkcs11.SunPKCS11 -providerArg yubikey-pkcs11-java.cfg -keystore NONE -storetype PKCS11MY-JAR.jar「PIV認証の証明書」
  2. パスフレーズプロンプトでYubiKey PINを入力します。
    キーストアのパスフレーズを入力します。 
  3. これでファイルが署名されました。 次のコマンドで署名を確認できます。
    jarsigner -verify -verbose MY-JAR.jar
  4. ファイルが正常に署名された場合、コマンドの出力には次の行が含まれます。
    s =署名が検証されました
    
SSL.comをご利用いただきありがとうございます。 ご不明な点がございましたら、メールでお問い合わせください。 Support@SSL.com電話する 1-877-SSL-SECURE、またはこのページの右下にあるチャットリンクをクリックしてください。 また、サポートに関する多くの一般的な質問への回答も、 知識ベース.

 

Twitter
Facebook
LinkedIn
Reddit
メール

常に最新情報を入手して安全を確保

SSL.com サイバーセキュリティの世界的リーダーであり、 PKI そしてデジタル証明書。サインアップして、最新の業界ニュース、ヒント、製品のお知らせを受け取ります。 SSL.com.

フィードバックをお待ちしております

アンケートにご協力いただき、最近のご購入についてのご意見をお聞かせください。