|
|
|
@ -12,10 +12,14 @@ import java.security.MessageDigest
|
|
|
|
|
|
|
|
|
|
class Blob {
|
|
|
|
|
companion object {
|
|
|
|
|
fun encodePubKey(alg: Algorithm): ByteArray {
|
|
|
|
|
fun encodePubKey(alg: Algorithm, key: ByteArray? = null): ByteArray {
|
|
|
|
|
var encodedKey = byteArrayOf()
|
|
|
|
|
var algKey: ByteArray? = key
|
|
|
|
|
if (alg.public_key_num_bytes > 0) {
|
|
|
|
|
encodedKey = Helper.encodeRSAkey(Files.readAllBytes((Paths.get(alg.defaultKey))))
|
|
|
|
|
if (key == null) {
|
|
|
|
|
algKey = Files.readAllBytes((Paths.get(alg.defaultKey)))
|
|
|
|
|
}
|
|
|
|
|
encodedKey = Helper.encodeRSAkey(algKey!!)
|
|
|
|
|
log.info("encodePubKey(): size = ${alg.public_key_num_bytes}, algorithm key size: ${encodedKey.size}")
|
|
|
|
|
Assert.assertEquals(alg.public_key_num_bytes, encodedKey.size)
|
|
|
|
|
} else {
|
|
|
|
@ -24,18 +28,6 @@ class Blob {
|
|
|
|
|
return encodedKey
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fun encodePubKey(alg: Algorithm, key: ByteArray): ByteArray {
|
|
|
|
|
var encodedKey = byteArrayOf()
|
|
|
|
|
if (alg.public_key_num_bytes > 0) {
|
|
|
|
|
encodedKey = Helper.encodeRSAkey(key)
|
|
|
|
|
log.info("encodePubKey(): size = ${alg.public_key_num_bytes}, algorithm key size: ${encodedKey.size}")
|
|
|
|
|
Assert.assertEquals(alg.public_key_num_bytes, encodedKey.size)
|
|
|
|
|
} else {
|
|
|
|
|
log.info("encodePubKey(): No key to use")
|
|
|
|
|
}
|
|
|
|
|
return encodedKey
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//TODO: support pkmd_blob
|
|
|
|
|
//encoded_descriptors + encoded_key + pkmd_blob + (padding)
|
|
|
|
|
fun getAuxDataBlob(encodedDesc: ByteArray, encodedKey: ByteArray): ByteArray {
|
|
|
|
|