質問

私はApache Tomcat6.xサーバーとの自己署名SSL証明書。また、お客様の現在の自分の証明書をサーバはその認証に基づいて、データベースのユーザーしていますすべての作業に基づく例からオンラインですが、たとえば、-固定証明書および構築にオトゥアタウア遺跡などの見所もdatastore.のを作りたい自分のdatastore自分のcertsがない。

の作成方法を教えてください、共同開発者管理のためのTomcat?
の作成方法を教えてください自己署名証明書のTomcat?

の作成方法を教えてください自己署名証明書です。
どんな力Tomcatを信頼するのです。

まjava keytoolのために多くの時間です。

役に立ちましたか?

解決

最後に、私の問題への解決策を得たので、他の誰が立ち往生場合、私はここで結果を投稿します。

:私はことを発見する マイケルのソフトウェア思考&とりとめのマイケル・マーティンに

のおかげで

  デフォルトでは、

keytoolはDSAを使用しています   アルゴリズムの生成時   自己署名証明書。以前のバージョンの   Firefoxはせずにこれらのキーを受け入れ   問題。 Firefox 3のベータ5、使用して   DSAは動作しませんが、RSAを使用しません。   生成するときに「-keyalg RSA」を渡します   自己署名証明書が作成されます   完全にFirefox 3のベータ5をCERT   受け付けています。

私は単純にそのフラグを設定し、Firefoxのすべてのキャッシュをクリアし、それが魅力のように働きました!私は私のプロジェクトのためのテスト・セットアップとしてこれを使用していると私は他の人とこれを共有する必要があるので、私は2つのSSL証明書を作成し、小さなバッチスクリプトを書きました。一つは、Tomcatの設定内に落下することができ、他のは、Firefox / IEにインポートすることができます.P12ファイルです。ありがとう!

使用法:最初のコマンドライン引数は、クライアントのユーザ名です。すべてのパスワードは、(無引用付き)「パスワード」です。あなたのニーズを満たすためにハードコードされたビットのいずれかを変更します。

@echo off
if "%1" == "" goto usage

keytool -genkeypair -alias servercert -keyalg RSA -dname "CN=Web Server,OU=Unit,O=Organization,L=City,S=State,C=US" -keypass password -keystore server.jks -storepass password
keytool -genkeypair -alias %1 -keystore %1.p12 -storetype pkcs12 -keyalg RSA -dname "CN=%1,OU=Unit,O=Organization,L=City,S=State,C=US" -keypass password -storepass password
keytool -exportcert -alias %1 -file %1.cer -keystore %1.p12 -storetype pkcs12 -storepass password
keytool -importcert -keystore server.jks -alias %1 -file %1.cer -v -trustcacerts -noprompt -storepass password
keytool -list -v -keystore server.jks -storepass password
del %1.cer
goto end

:usage
echo Need user id as first argument: generate_keystore [username]
goto end

:end
pause

結果は、2つのファイルです。あなたがTomcatのにドロップすると、{ユーザー名}と呼ばれる別のファイルには、ブラウザにインポートすること.P12 server.jksと呼ばれる一つ。 server.jksファイルは、クライアント証明書は、信頼できる証明書として追加しています。

私は他の誰かがこの重宝願っています。

そして、ここでは、あなたのTomcatのconf / sever.xmlファイルに追加する必要がありますXML(のみのTomcat 6.xの上でテスト済み)

であります
<Connector
   clientAuth="true" port="8443" minSpareThreads="5" maxSpareThreads="75"
   enableLookups="true" disableUploadTimeout="true"
   acceptCount="100" maxThreads="200"
   scheme="https" secure="true" SSLEnabled="true"
   keystoreFile="${catalina.home}/conf/server.jks"
   keystoreType="JKS" keystorePass="password"
   truststoreFile="${catalina.home}/conf/server.jks"
   truststoreType="JKS" truststorePass="password"
   SSLVerifyClient="require" SSLEngine="on" SSLVerifyDepth="2" sslProtocol="TLS"
/>

Tomcatの7の場合:

<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
           port="8443" SSLEnabled="true"
           maxThreads="200" scheme="https" secure="true"
           keystoreFile="${catalina.base}/conf/server.jks" keystorePass="password"
           clientAuth="false" sslProtocol="TLS" />    

他のヒント

クライアント認証を有効にするには、Tomcatのための「トラストストア」を指定する必要があります。ルート証明機関から証明書を含むキーストアあなたが信頼することを、それぞれが「trustEntry」としてフラグ付け

ConnectortruststoreFile(そのtruststorePassの値デフォルト)、及びkeystorePass(これは "JKS" デフォルト)

これはtruststoreType要素の属性によって指定されます。

クライアントは、自己署名証明書を使用している場合は、その「ルート」CAは、証明書自体があります。それはあなたがTomcatの信頼ストアにクライアントの自己署名証明書をインポートする必要があること、それから、次の。

あなたは多くのクライアントを持っている場合は、

、これはすぐに面倒になります。その場合、あなたはあなたの顧客のための署名証明書の中に見たいと思うかもしれません。 Java keytoolコマンドは、これを行うことはできませんが、必要なコマンドラインユーティリティのすべては、OpenSSLでご利用いただけます。それとも、大規模に EJBCA のようなものに見える可能性があります。

いっそのこと、 startcom.org のような既存の空きCAを使用するようにクライアントを尋ねます。 StartComの証明書がすべてのブラウザに含まれていないので、これは常に、サーバ証明書のために動作しませんが、この状況が逆転し、かつStartComのルート証明書を簡単にTomcatの信頼ストアにインポートすることができます。

を証

keytool -genkey -alias tomcat -keyalg RSA -keystore /home/bob/mykeystore

入力データをすべての自己署名証明書が必要編集をTomcatの server.xml 特定のキーストアの物件のSSLコネクター例:

<Connector port="8443" maxHttpHeaderSize="8192"
        maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
        enableLookups="false" disableUploadTimeout="true"
        acceptCount="100" scheme="https" secure="true"
        keystoreFile="/home/bob/mykeystore"
        clientAuth="false" sslProtocol="TLS" />

従Tomcat docs...

http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

前回の回答に役に立ちがなシェルツールバージョン。ように書いたします。

key_gen.sh:

#! /bin/bash
# a key generator for https,

basename=server
key_algorithm=RSA
password_key=123456
password_store=123456
country=US

# clean - pre
rm "${basename}.jks"

# generate server side
keytool -genkeypair -alias "${basename}cert" -keyalg $key_algorithm -dname "CN=Web Server,OU=Unit,O=Organization,L=City,S=State,C=${country}" -keypass $password_key -keystore "${basename}.jks" -storepass $password_store

のための tomcat8, は、以下の項目を追加config server.xml:

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
        maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
        clientAuth="false" sslProtocol="TLS"
        acceptCount="75" keystoreFile="${catalina.home}/conf/server.jks" keystorePass="123456"
    />
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top