独自の Cipher の作成
独自の Cipher を作成することもできます。これは、特定の vault を使用してパスワードを保存する必要がある場合に特に便利です。
前提条件:
- Maven の基本的な知識
- Java の知識
ステップ 1: Maven プロジェクトを作成し、API 依存関係を取得
- "api" および “base" の依存関係を取得します。
<Jira_installation_directory>/atlassian-jira/WEB-INF/lib
に移動します。- 以下の jar ファイルをコピーします。
- password-cipher-api-<version>.jar: このファイルには API が含まれます。
- (オプション) password-cipher-base-<version>.jar: このファイルにはサンプル実装が含まれます。
- Maven プロジェクトを作成します。
resources
に進み、新しいフォルダlibs.
を作成します。- jar ファイルを
libs
フォルダにコピーします。 その後、以下の
pom
を使用することができます。<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 つのメソッドのみが含まれてます。復号化は Jira の起動中に呼び出されるため、長期実行タスクが起動時間に影響を与える可能性があります。暗号化は暗号化ツールでのみ使用されるため、Jira から呼び出されることはありません。
例として Base64Cipher や AlgorithmCipher を使用できます。
ステップ 3: 実装のテスト
「基本的な暗号化」および「高度な暗号化」で説明されている暗号化ツールは Jira と同じコードを使用してパスワードを復号化します。これを使用して実装をテストできます。
CLI で jar と同じフォルダにいるとします。
java -cp "./*" com.atlassian.db.config.password.tools.CipherTool -c your.package.here.ClassName
ステップ 4: lib を Jira から利用可能にする
Jira が lib にアクセスできる必要があります。クラスはリフレクションを使用して初期化されます。lib を以下のディレクトリに配置します。
<Jira_installation_directory>/atlassian-jira/WEB-INF/lib
Jira をアップグレードした後で、lib を Jira インストール ディレクトリに再度コピーする必要があります。
Last modified on Mar 22, 2021
Powered by Confluence and Scroll Viewport.