diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-05-03 14:03:42 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-05-03 15:19:17 +0200 |
commit | 7b9663210bd6cc087ffcd6388855048a10947fb8 (patch) | |
tree | 3ecb38a26e1df54585f36f9ddf57702d05381838 /security-utils/src/main | |
parent | 25cb895e18e9dd1f74b32896e41fe01b76ddb48e (diff) |
Move Signature factories to separate class
Diffstat (limited to 'security-utils/src/main')
-rw-r--r-- | security-utils/src/main/java/com/yahoo/security/KeyUtils.java | 37 | ||||
-rw-r--r-- | security-utils/src/main/java/com/yahoo/security/SignatureUtils.java | 37 |
2 files changed, 37 insertions, 37 deletions
diff --git a/security-utils/src/main/java/com/yahoo/security/KeyUtils.java b/security-utils/src/main/java/com/yahoo/security/KeyUtils.java index 7d39c0d54e0..fa999ee521a 100644 --- a/security-utils/src/main/java/com/yahoo/security/KeyUtils.java +++ b/security-utils/src/main/java/com/yahoo/security/KeyUtils.java @@ -3,11 +3,9 @@ package com.yahoo.security; import org.bouncycastle.asn1.ASN1Encodable; import org.bouncycastle.asn1.ASN1Primitive; -import org.bouncycastle.asn1.eac.ECDSAPublicKey; import org.bouncycastle.asn1.pkcs.PrivateKeyInfo; import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo; import org.bouncycastle.jcajce.provider.asymmetric.ec.BCECPrivateKey; -import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.bouncycastle.jce.spec.ECParameterSpec; import org.bouncycastle.jce.spec.ECPublicKeySpec; import org.bouncycastle.math.ec.ECPoint; @@ -23,18 +21,14 @@ import java.io.StringReader; import java.io.StringWriter; import java.io.UncheckedIOException; import java.security.GeneralSecurityException; -import java.security.InvalidKeyException; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; -import java.security.NoSuchAlgorithmException; import java.security.PrivateKey; import java.security.PublicKey; -import java.security.Signature; import java.security.interfaces.RSAPrivateCrtKey; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.RSAPublicKeySpec; -import java.security.spec.X509EncodedKeySpec; import java.util.ArrayList; import java.util.List; @@ -168,35 +162,4 @@ public class KeyUtils { return primitive.getEncoded(); } - /** Returns a signature instance which computes a SHA-256 hash of its content, before signing with the given private key. */ - public static Signature createSigner(PrivateKey key) { - try { - Signature signer = Signature.getInstance(SignatureAlgorithm.SHA256_WITH_ECDSA.getAlgorithmName(), - BouncyCastleProviderHolder.getInstance()); - signer.initSign(key); - return signer; - } - catch (NoSuchAlgorithmException e) { - throw new IllegalStateException(e); - } - catch (InvalidKeyException e) { - throw new IllegalArgumentException(e); - } - } - - /** Returns a signature instance which computes a SHA-256 hash of its content, before verifying with the given public key. */ - public static Signature createVerifier(PublicKey key) { - try { - Signature signer = Signature.getInstance(SignatureAlgorithm.SHA256_WITH_ECDSA.getAlgorithmName(), - BouncyCastleProviderHolder.getInstance()); - signer.initVerify(key); - return signer; - } - catch (NoSuchAlgorithmException e) { - throw new IllegalStateException(e); - } - catch (InvalidKeyException e) { - throw new IllegalArgumentException(e); - } - } } diff --git a/security-utils/src/main/java/com/yahoo/security/SignatureUtils.java b/security-utils/src/main/java/com/yahoo/security/SignatureUtils.java new file mode 100644 index 00000000000..7560fbbd40d --- /dev/null +++ b/security-utils/src/main/java/com/yahoo/security/SignatureUtils.java @@ -0,0 +1,37 @@ +// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.security; + +import java.security.GeneralSecurityException; +import java.security.PrivateKey; +import java.security.PublicKey; +import java.security.Signature; + +/** + * Misc signature utils + * + * @author bjorncs + */ +public class SignatureUtils { + + /** Returns a signature instance which computes a hash of its content, before signing with the given private key. */ + public static Signature createSigner(PrivateKey key, SignatureAlgorithm algorithm) { + try { + Signature signer = Signature.getInstance(algorithm.getAlgorithmName(), BouncyCastleProviderHolder.getInstance()); + signer.initSign(key); + return signer; + } catch (GeneralSecurityException e) { + throw new IllegalStateException(e); + } + } + + /** Returns a signature instance which computes a hash of its content, before verifying with the given public key. */ + public static Signature createVerifier(PublicKey key, SignatureAlgorithm algorithm) { + try { + Signature signer = Signature.getInstance(algorithm.getAlgorithmName(), BouncyCastleProviderHolder.getInstance()); + signer.initVerify(key); + return signer; + } catch (GeneralSecurityException e) { + throw new IllegalStateException(e); + } + } +} |