Skip to content

Commit d5af8c9

Browse files
authored
Merge pull request #224 from tamasan238/pr142
[JA] wolfSSL JNI/JSSE: update pass on existing manual contents
2 parents 9b00287 + 0851f46 commit d5af8c9

File tree

11 files changed

+166
-124
lines changed

11 files changed

+166
-124
lines changed

wolfCrypt-JNI/src-ja/chapter01.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# イントロダクション
22

33

4-
JCE (Java Cryptography Extension) フレームワークは、カスタムの暗号化サービス プロバイダーのインストールをサポートします。この仕組みにより、Java セキュリティ API によって使用される基本的な暗号化機能のサブセットを実装できます。
4+
JCE (Java Cryptography Extension) 、カスタムの暗号化サービス プロバイダーのインストールをサポートします。この仕組みにより、Java セキュリティ API によって使用される基本的な暗号化機能のサブセットを実装できます。
55

6-
このドキュメントでは、wolfCrypt JCE プロバイダーの詳細と使用方法について説明します。 wolfCrypt JCE プロバイダー (wolfJCE) は、ネイティブの wolfCrypt 暗号化ライブラリーをラップして、Java Security API との互換性を確保します。 [こちら](https://github.com/wolfSSL/wolfcrypt-jni)のGithubリポジトリを参照してください。
6+
このマニュアルでは、wolfCrypt JCE プロバイダーの詳細と使用方法について説明します。 wolfCrypt JCE プロバイダー (wolfJCE) は、ネイティブの wolfCrypt 暗号化ライブラリーをラップして、Java Security API との互換性を確保します。 wolfCrypt JNI/JCEについては、[こちら](https://github.com/wolfSSL/wolfcrypt-jni)のGithubリポジトリを参照してください。
77

8-
wolfcrypt-jni パッケージには、JCE プロバイダーに加えて、wolfCrypt JNI ラッパーの両方が含まれています。 JNI ラッパーは、必要に応じて単独で使用できます。
8+
wolfcrypt-jni パッケージには、JCE プロバイダーとwolfCrypt JNI ラッパーの両方が含まれています。 JNI ラッパーは、必要に応じて単独で使用できます。

wolfCrypt-JNI/src-ja/chapter02.md

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,49 @@
11
# システム要件
22

33
## Java / JDK
4-
wolfJCE では、ホストシステムに Java をインストールする必要があります。 Oracle JDK や OpenJDK など、ユーザーや開発者が利用できる JDK バリアントがいくつかあります。 wolfJCE は現在、OpenJDK、Oracle JDK、および Android でテストされています。 OpenJDK と Android では、JCE プロバイダーがコード署名されている必要はありませんが、Oracle JDK では必要です。 コード署名の詳細については、[第 7 章](chapter07.md#jar-code-signing)を参照してください。
54

6-
参考までに、wolfJCE がテストされた OpenJDK の特定のバージョンは次のとおりです:
5+
wolfJCE では、ホストシステムに Java をインストールする必要があります。 Oracle JDK や OpenJDK など、ユーザーや開発者が利用できる JDK バリアントがいくつかあります。 wolfJCEは現在、OpenJDK、Oracle JDK、Amazon Coretto、Zulu、Temurin、Microsoft JDK、およびAndroidでテストされています。OpenJDK と Android では、JCE プロバイダーがコード署名されている必要はありませんが、Oracle JDK では必要です。 コード署名の詳細については、[第 7 章](chapter07.md#jar-code-signing)を参照してください。
76

87

9-
```
10-
$ java -version
11-
Openjdk version “1.8.0_91”
12-
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-3ubuntu1~15.10.1~b14)
13-
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
14-
```
15-
また、Oracle JDK 1.8.0_121 および Android 24 でもテストされています。
16-
178
## JUnit
18-
単体テストを実行するには、JUnit が開発システムにインストールされている必要があります。 JUnit は、プロジェクトの Web サイト (www.junit.org) からダウンロードできます
199

20-
Unix/Linux/OSX システムに JUnit をインストールするには:
21-
1. [junit.org/junit4/]() から "**junit-4.13.jar**" と "**hamcrest-all-1.3.jar**" をダウンロードします。 執筆時点では、前述の .jar ファイルは次のリンクからダウンロードできます:
10+
単体テストを実行するには、JUnit4 が開発システムにインストールされている必要があります。 JUnit4 は、プロジェクトの Web サイト (www.junit.org) からダウンロードできます
11+
12+
Unix/Linux/OSX システムに JUnit4 をインストールするには:
13+
1) [junit.org/junit4/]() から "**junit-4.13.jar**" と "**hamcrest-all-1.3.jar**" をダウンロードします。 執筆時点では、前述の .jar ファイルは次のリンクからダウンロードできます:
2214

23-
リンク: [junit-4.13.jar](https://search.maven.org/search?q=g:junit%20AND%20a:junit)<br>
24-
リンク: [hamcrest-all-1.3.jar](https://search.maven.org/artifact/org.hamcrest/hamcrest-all/1.3/jar)
15+
Junit: [junit-4.13.jar](https://search.maven.org/search?q=g:junit%20AND%20a:junit)
2516

26-
2. これらの JAR ファイルをシステムに配置し、その場所を指すように `JUNIT_HOME` を設定します:
17+
Hamcrest: [hamcrest-all-1.3.jar](https://search.maven.org/artifact/org.hamcrest/hamcrest-all/1.3/jar)
18+
19+
2) これらの JAR ファイルをシステムに配置し、その場所を指すように `JUNIT_HOME` を設定します:
2720

2821
```
29-
$ export JUNIT_HOME=/path/to/jar/files
22+
$ export JUNIT_HOME=/path/to/jar/files
3023
```
3124

3225
## make と ant
3326

3427
"make" と "ant" は、それぞれネイティブ C コードと Java コードのコンパイルに使用されます。
35-
3628
これらが開発マシンにインストールされていることを確認してください。
3729

3830

3931
## wolfSSL / wolfCrypt ライブラリ
4032

41-
ネイティブ wolfCrypt ライブラリのラッパーとして、wolfSSL をホスト プラットフォームにインストールし、インクルードおよびライブラリ検索パスに配置する必要があります。 wolfJCE は、wolfSSL/wolfCrypt ネイティブ ライブラリの FIPS または非 FIPS バージョンに対してコンパイルできます。
33+
ネイティブ wolfCrypt ライブラリのラッパーとして、[wolfSSL](https://wolfssl.jp/products/wolfssl/) をインストールし、インクルードおよびライブラリ検索パスに配置する必要があります。 wolfJCE は、wolfSSL/wolfCrypt ネイティブ ライブラリの FIPS 140-2/3 または非 FIPS バージョンに対してコンパイルできます。
4234

4335

4436
### wolfSSL / wolfCrypt のコンパイル
4537

46-
wolfJCE で使用するために Unix/Linux 環境で wolfSSL をコンパイルおよびインストールするには、wolfSSL マニュアルのビルド手順に従ってください。 wolfSSL をコンパイルする最も一般的な方法は、Autoconf システムを使用することです。
38+
Unix/Linux 環境で wolfSSL をコンパイルおよびインストールするには、[wolfSSL マニュアル](https://www.wolfssl.com/documentation/manuals/jp/wolfssl/)のビルド手順に従ってください。 wolfSSL をコンパイルする最も一般的な方法は、Autoconf システムを使用することです。
4739

48-
wolfSSL (wolfssl-x.x.x)、wolfSSL FIPS リリース (wolfssl-x.x.x-commercial-fips)、または wolfSSL FIPS Ready リリースをインストールできます。いずれの場合も、 ./configure スクリプト実行時に`--enable-keygen` オプションが必要です
40+
wolfSSL (wolfssl-x.x.x)、wolfSSL FIPS リリース (wolfssl-x.x.x-commercial-fips)、または wolfSSL FIPS Ready リリースをビルドし、インストールできます。いずれの場合も、 ./configure スクリプト実行時にパッケージ固有のconfigureオプション要件(例:`--enable-fips`)に加えて、`--enable-jni` を使用する必要があります
4941

5042

5143
**wolfSSL 標準ビルド**:
5244
```
5345
$ cd wolfssl-x.x.x
54-
$ ./configure --enable-keygen
46+
$ ./configure --enable-jni
5547
$ make check
5648
$ sudo make install
5749
```
@@ -60,7 +52,7 @@ $ sudo make install
6052

6153
```
6254
$ cd wolfssl-x.x.x-commercial-fips
63-
$ ./configure --enable-fips --enable-keygen
55+
$ ./configure --enable-fips --enable-jni
6456
$ make check
6557
$ sudo make install
6658
```
@@ -69,7 +61,16 @@ $ sudo make install
6961

7062
```
7163
$ cd wolfssl-x.x.x-commercial-fips
72-
$ ./configure --enable-fips=v2 --enable-keygen
64+
$ ./configure --enable-fips=v2 --enable-jni
65+
$ make check
66+
$ sudo make install
67+
```
68+
69+
**wolfSSL FIPSv5 ビルド**:
70+
71+
```
72+
$ cd wolfssl-x.x.x-commercial-fips
73+
$ ./configure --enable-fips=v5 --enable-jni
7374
$ make check
7475
$ sudo make install
7576
```
@@ -78,7 +79,7 @@ $ sudo make install
7879

7980
```
8081
$ cd wolfssl-x.x.x-commercial-fips
81-
$ ./configure --enable-fips=ready --enable-keygen
82+
$ ./configure --enable-fips=ready --enable-jni
8283
$ make check
8384
$ sudo make install
8485
```

wolfCrypt-JNI/src-ja/chapter03.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,15 @@ Mac OSXにインストールする場合:
1717
$ cd wolfcrypt-jni
1818
$ cp makefile.macosx makefile
1919
```
20-
次に、 "make" を使用してネイティブ (C ソース) コードをコンパイルします:
20+
21+
次に、 "make" を使用してネイティブ (C ソース) コードをコンパイルします。
22+
これにより、ネイティブJNI共有ライブラリ(`libwolfcryptjni.so/dylib`)が生成されます:
2123

2224
```
2325
$ cd wolfcrypt-jni
2426
$ make
2527
```
28+
2629
Java ソースのコンパイルには "ant" を使用します。 JNI または JCE (JNI を含む) パッケージをデバッグ モードまたはリリース モードでコンパイルするための ant ターゲットがいくつかあります。 ターゲットを指定せずに "ant" を実行すると、使用オプションが表示されます:
2730

2831

@@ -40,18 +43,20 @@ build:
4043
[echo] build-jce-release | builds release JAR with JNI and JCE classes
4144
[echo] ----------------------------------------------------------------------------
4245
```
46+
4347
必要に応じてビルドターゲットを指定してください。 たとえば、リリース モードで wolfJCE プロバイダーをビルドする場合は、次を実行します:
4448

4549
```
4650
$ ant build-jce-release
4751
```
48-
また、JUnit テストを実行するには、次のコマンドを実行します。 これにより、実行されたビルド (JNI と JCE) に一致するテストのみがコンパイルされ、それらのテストも実行されます。
4952

53+
JUnitテストを実行するには、`ant test` を実行してください。これにより、実行されたビルド(JNIとJCE)に一致するテストのみがコンパイル、実行されます。
5054

5155
```
5256
$ ant test
5357
```
54-
Java JAR とネイティブ ライブラリの両方を消去するには:
58+
59+
Java JAR とネイティブ ライブラリの両方を消去するには、次のようにします:
5560

5661
```
5762
$ ant clean
@@ -60,6 +65,6 @@ $ make clean
6065

6166
## APIマニュアル(Javadoc)
6267

63-
`ant` を実行すると、`wolfcrypt-jni/docs` ディレクトリの下に一連の Javadoc が生成されます。 ルートドキュメントを表示するには、Web ブラウザで次のファイルを開きます:
68+
`ant` を実行すると、`wolfcrypt-jni/docs/javadoc` ディレクトリの下に一連の Javadoc が生成されます。 Javadocインデックスを表示するには、Web ブラウザで次のファイルを開きます:
6469

65-
`wolfcrypt-jni/docs/index.html`
70+
`wolfcrypt-jni/docs/javadoc/index.html`

wolfCrypt-JNI/src-ja/chapter04.md

Lines changed: 39 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,81 @@
11
# インストール
22

3-
wolfJCE をインストールして使用するには、次の 2 つの方法があります:
3+
wolfJCEをインストールして使用する方法は2つあります - 1つは単一のJavaアプリケーション内での実行時、もう1つは全てのJavaアプリケーションが使用するためのシステムレベルです。
44

55

66
## 実行時インストール
77

8-
実行時に wolfJCE をインストールして使用するには、まず "**libwolfcryptjni.so**" がシステムのライブラリ検索パスにあることを確認してください。 Linux では、このパスを次のようにして変更できます:
8+
単一のアプリケーション内での実行時にwolfJCEをインストールして使用するには、まず「**libwolfcryptjni.so**」(MacOSの場合は「**libwolfcryptjni.dylib**」)がシステムのライブラリ検索パスにあることを確認してください。
9+
Linuxでは、このパスを次のようにして変更できます:
910

11+
```
12+
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/add
13+
```
14+
15+
MacOSでは、代わりに `DYLD_LIBRARY_PATH` を使用できます:
1016

1117
```
12-
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/add
18+
$ export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/path/to/add
1319
```
14-
次に、wolfCrypt JNI / wolfJCE JAR ファイル (**wolfcrypt-jni.jar**) を Java クラスパスに配置します。 これを行うには、システムのクラスパス設定を調整するか、コンパイル時と実行時に次のようにします:
1520

21+
次に、wolfCrypt JNI / wolfJCE JAR ファイル (**wolfcrypt-jni.jar**) を Java クラスパスに配置します。 これを行うには、システムのクラスパス設定を調整するか、コンパイル時と実行時に次のようにします:
1622

1723
```
18-
$ javac -classpath <path/to/jar> ...
19-
$ java -classpath <path/to/jar> ...
24+
$ javac -classpath <path/to/jar> ...
25+
$ java -classpath <path/to/jar> ...
2026
```
21-
最後に、Java アプリケーションで、プロバイダークラスをインポートし、Security.addProvider() を呼び出して、実行時にプロバイダーを追加します:
27+
28+
最後に、Javaアプリケーションで、プロバイダークラスをインポートし、`Security.insertProviderAt()` を呼び出してwolfCryptProviderをJavaプロバイダーリストの最上位優先プロバイダーとして挿入することで、実行時にプロバイダーを追加してください。
29+
プロバイダーの位置1が最も優先度の高い位置であることにご注意ください。
2230

2331
```
24-
import com.wolfssl.provider.jce.WolfCryptProvider;
25-
public class TestClass {
26-
public static void main(String args[]) {
27-
...
28-
Security.addProvider(new WolfCryptProvider());
29-
...
30-
}
31-
}
32+
import com.wolfssl.provider.jce.WolfCryptProvider;
33+
34+
public class TestClass {
35+
public static void main(String args[]) {
36+
...
37+
Security.insertProviderAt(new WolfCryptProvider(), 1);
38+
...
39+
}
40+
}
3241
```
42+
3343
検証のためにインストールされているすべてのプロバイダーのリストを出力するには、次のようにします:
3444

3545
```
36-
Provider[] providers = Security.getProviders()
37-
for (Provider prov:providers) {
38-
System.out.println(prov);
39-
}
46+
Provider[] providers = Security.getProviders()
47+
for (Provider prov:providers) {
48+
System.out.println(prov);
49+
}
4050
```
4151

42-
## OS / システムレベルでのインストール
43-
44-
システム レベルで wolfJCE プロバイダーをインストールするには、JAR を OS の正しい Java インストール ディレクトリにコピーし、共有ライブラリがライブラリ検索パスにあることを確認します。
52+
## OS / システムレベルでのインストール (Java 8以下)
4553

46-
wolfJCE JAR ファイル (**wolfcrypt-jni.jar**) と共有ライブラリ (**libwolfcryptjni.so**) を次のディレクトリに追加します:
54+
wolfJCEはシステムレベルでインストールできるため、暗号化にJava Security APIを使用するあらゆるJavaアプリケーションがwolfJCEを活用できます。
55+
wolfJCEプロバイダーをシステムレベルでインストールするには、JARをお使いのOSとJDKに対応した正しいJavaインストールディレクトリにコピーし、共有ライブラリがライブラリ検索パスにあることを確認します。
4756

57+
wolfCrypt JNI/JCE JARファイル(**wolfcrypt-jni.jar**)と共有ライブラリ(**libwolfcryptjni.so** または **libwolfcryptjni.dylib**)を以下のディレクトリに追加してください:
4858

4959
```
50-
$JAVA_HOME/jre/lib/ext directory
60+
$JAVA_HOME/jre/lib/ext
5161
```
5262

5363
たとえば、OpenJDK を使用する Ubuntu では、次のようになります:
5464

5565
```
5666
/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext
5767
```
58-
さらに、次のようなエントリを java.security ファイルに追加します:
68+
69+
次に、以下のように `java.security` ファイルにWolfCryptProviderのプロバイダーエントリを追加してください:
5970

6071
```
6172
security.provider.N=com.wolfssl.provider.jce.WolfCryptProvider
6273
```
63-
ava.security ファイルは次の場所にあります:
74+
75+
java.security ファイルは次の場所にあります:
6476

6577
```
6678
$JAVA_HOME/jre/lib/security/java.security
6779
```
68-
"N" を、ファイル内の他のプロバイダーと比較して WolfCryptProvider に持たせたい優先順位に置き換えます。
6980

81+
"N" を、ファイル内の他のプロバイダーと比較して WolfCryptProvider に持たせたい優先順位に置き換えます。

0 commit comments

Comments
 (0)