カスタム暗号化
ステップ 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. 実装をテストする
The encryption tool described in Base 64 encoding and AES encryption uses the same code as Confluence to decrypt the password. You can use it to test your implementation.
CLI と jar が同じフォルダーにあるとします。
java -cp "./*" com.atlassian.db.config.password.tools.CipherTool -c your.package.here.ClassName
ステップ 4. ライブラリを利用可能にする
Confluence がライブラリにアクセスできる必要があります。リフレクションによってクラスはインスタンス化されます。
ライブラリを <install-directory>/confluence/WEB-INF/lib
ディレクトリに置きます。