カスタム暗号化
ステップ 1. Maven プロジェクトを作成して API 依存関係を取得する
Maven プロジェクトを作成して API 依存関係を取得するには、次の手順に従います。
- password-cipher-api と password-cipher-base の各依存関係を取得します。
<install-directory>/confluence/WEB-INF/lib
に移動して、次の jar ファイルをコピーします。password-cipher-api-<version>.jar
このファイルには API が含まれています。password-cipher-base-<version>.jar
(オプション) このファイルにはいくつかのサンプル実装が含まれています。
- Maven プロジェクトを作成します。
resources
に移動して、libs
という新しいフォルダーを作成します。- jar ファイルを libs フォルダーにコピーします。
次に、次の pom を使用します。
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId><your_group_ID></groupId> <artifactId><your_artifact_ID></artifactId> <version><your_version></version> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <repositories> <repository> <id>local-maven-repo</id> <url>file:///${project.basedir}/libs</url> </repository> </repositories> <build> <resources> <resource> <directory>src/main/resources/libs</directory> <excludes> <exclude>*</exclude> </excludes> <filtering>false</filtering> </resource> </resources> </build> <dependencies> <dependency> <groupId>com.atlassian.db.config</groupId> <artifactId>password-cipher-api</artifactId> <version><api_version></version> <scope>provided</scope> </dependency> <dependency> <groupId>com.atlassian.db.config</groupId> <artifactId>password-cipher-base</artifactId> <version><base_version></version> <scope>provided</scope> </dependency> </dependencies> </project>
ステップ 2. Cipher インターフェイスを実装する
Cipher インターフェイスには、要件に応じて実装する必要がある 2 つのメソッド encrypt
と decrypt
が含まれています。decrypt
は Confluence の起動中に呼び出されるため、長期実行タスクが起動時間に影響を与える可能性があります。暗号化は暗号化ツールでのみ使用されるため、Confluence から呼び出されることはありません。
例として Base64Cipher
と AlgorithmCipher
を使用できます。
ステップ 3. 実装をテストする
「基本的な暗号化」と「高度な暗号化」で説明されている暗号化ツールでは、Confluence と同じコードによってパスワードを復号化します。これによって実装をテストできます。
CLI と jar が同じフォルダーにあるとします。
java -cp "./*" com.atlassian.db.config.password.tools.CipherTool -c your.package.here.ClassName
ステップ 4. ライブラリを利用可能にする
Confluence がライブラリにアクセスできる必要があります。リフレクションによってクラスはインスタンス化されます。
ライブラリを <install-directory>/confluence/WEB-INF/lib
ディレクトリに置きます。
Last modified on Mar 22, 2022
Powered by Confluence and Scroll Viewport.