mirror of
https://github.com/pgpainless/pgpainless.git
synced 2024-11-05 20:15:59 +01:00
Kotlin conversion: AlgorithmSuite
This commit is contained in:
parent
fb39c37228
commit
1062f6a8bf
2 changed files with 41 additions and 63 deletions
|
@ -1,63 +0,0 @@
|
||||||
// SPDX-FileCopyrightText: 2018 Paul Schaub <vanitasvitae@fsfe.org>
|
|
||||||
//
|
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
|
||||||
|
|
||||||
package org.pgpainless.algorithm;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.LinkedHashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The {@link AlgorithmSuite} class is consulted when new OpenPGP keys are being generated to set
|
|
||||||
* preferred algorithms on the key.
|
|
||||||
*/
|
|
||||||
public class AlgorithmSuite {
|
|
||||||
|
|
||||||
private static final AlgorithmSuite defaultAlgorithmSuite = new AlgorithmSuite(
|
|
||||||
Arrays.asList(
|
|
||||||
SymmetricKeyAlgorithm.AES_256,
|
|
||||||
SymmetricKeyAlgorithm.AES_192,
|
|
||||||
SymmetricKeyAlgorithm.AES_128),
|
|
||||||
Arrays.asList(
|
|
||||||
HashAlgorithm.SHA512,
|
|
||||||
HashAlgorithm.SHA384,
|
|
||||||
HashAlgorithm.SHA256,
|
|
||||||
HashAlgorithm.SHA224),
|
|
||||||
Arrays.asList(
|
|
||||||
CompressionAlgorithm.ZLIB,
|
|
||||||
CompressionAlgorithm.BZIP2,
|
|
||||||
CompressionAlgorithm.ZIP,
|
|
||||||
CompressionAlgorithm.UNCOMPRESSED)
|
|
||||||
);
|
|
||||||
|
|
||||||
private final Set<SymmetricKeyAlgorithm> symmetricKeyAlgorithms;
|
|
||||||
private final Set<HashAlgorithm> hashAlgorithms;
|
|
||||||
private final Set<CompressionAlgorithm> compressionAlgorithms;
|
|
||||||
|
|
||||||
public AlgorithmSuite(List<SymmetricKeyAlgorithm> symmetricKeyAlgorithms,
|
|
||||||
List<HashAlgorithm> hashAlgorithms,
|
|
||||||
List<CompressionAlgorithm> compressionAlgorithms) {
|
|
||||||
this.symmetricKeyAlgorithms = Collections.unmodifiableSet(new LinkedHashSet<>(symmetricKeyAlgorithms));
|
|
||||||
this.hashAlgorithms = Collections.unmodifiableSet(new LinkedHashSet<>(hashAlgorithms));
|
|
||||||
this.compressionAlgorithms = Collections.unmodifiableSet(new LinkedHashSet<>(compressionAlgorithms));
|
|
||||||
}
|
|
||||||
|
|
||||||
public Set<SymmetricKeyAlgorithm> getSymmetricKeyAlgorithms() {
|
|
||||||
return new LinkedHashSet<>(symmetricKeyAlgorithms);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Set<HashAlgorithm> getHashAlgorithms() {
|
|
||||||
return new LinkedHashSet<>(hashAlgorithms);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Set<CompressionAlgorithm> getCompressionAlgorithms() {
|
|
||||||
return new LinkedHashSet<>(compressionAlgorithms);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static AlgorithmSuite getDefaultAlgorithmSuite() {
|
|
||||||
return defaultAlgorithmSuite;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
package org.pgpainless.algorithm
|
||||||
|
|
||||||
|
class AlgorithmSuite(
|
||||||
|
symmetricKeyAlgorithms: List<SymmetricKeyAlgorithm>,
|
||||||
|
hashAlgorithms: List<HashAlgorithm>,
|
||||||
|
compressionAlgorithms: List<CompressionAlgorithm>) {
|
||||||
|
|
||||||
|
val symmetricKeyAlgorithms: Set<SymmetricKeyAlgorithm> = symmetricKeyAlgorithms.toSet()
|
||||||
|
val hashAlgorithms: Set<HashAlgorithm> = hashAlgorithms.toSet()
|
||||||
|
val compressionAlgorithms: Set<CompressionAlgorithm> = compressionAlgorithms.toSet()
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
val defaultSymmetricKeyAlgorithms = listOf(
|
||||||
|
SymmetricKeyAlgorithm.AES_256,
|
||||||
|
SymmetricKeyAlgorithm.AES_192,
|
||||||
|
SymmetricKeyAlgorithm.AES_128)
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
val defaultHashAlgorithms = listOf(
|
||||||
|
HashAlgorithm.SHA512,
|
||||||
|
HashAlgorithm.SHA384,
|
||||||
|
HashAlgorithm.SHA256,
|
||||||
|
HashAlgorithm.SHA224)
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
val defaultCompressionAlgorithms = listOf(
|
||||||
|
CompressionAlgorithm.ZLIB,
|
||||||
|
CompressionAlgorithm.BZIP2,
|
||||||
|
CompressionAlgorithm.ZIP,
|
||||||
|
CompressionAlgorithm.UNCOMPRESSED)
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
val defaultAlgorithmSuite = AlgorithmSuite(
|
||||||
|
defaultSymmetricKeyAlgorithms,
|
||||||
|
defaultHashAlgorithms,
|
||||||
|
defaultCompressionAlgorithms)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in a new issue