blob: 378711bbdd8038b543d79c1e98c0eee99e9c54f6 [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package io.v.v23.security;
import io.v.v23.verror.VException;
import io.v.v23.vom.VomUtil;
import java.security.interfaces.ECPublicKey;
class Util {
// VOM-encodes the provided VSignature.
static byte[] encodeSignature(VSignature signature) throws VException {
return VomUtil.encode(signature, VSignature.class);
}
// VOM-decodes the VOM-encoded VSignature.
static VSignature decodeSignature(byte[] encoded) throws VException {
if (encoded == null || encoded.length == 0) {
return null;
}
return (VSignature) VomUtil.decode(encoded, VSignature.class);
}
// DER-encodes the provided ECPublicKey.
static byte[] encodePublicKey(ECPublicKey key) {
if (key == null) {
return new byte[0];
}
return key.getEncoded();
}
// Decodes the DER-encoded ECPublicKey.
static ECPublicKey decodePublicKey(byte[] encoded) throws VException {
if (encoded == null || encoded.length == 0) {
return null;
}
return CryptoUtil.decodeECPublicKey(encoded);
}
}