• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

input-output-hk / atala-prism-building-blocks / 8719666590

17 Apr 2024 09:33AM UTC coverage: 31.196% (-0.3%) from 31.477%
8719666590

Pull #966

patlo-iog
feat: key management for Ed25519 and X25519

fix: support jwk okp for ECCompressKeyData in DID doc

feat: store random key via jdbc

build: move json from shared to castor

fix: store actual jwk with RLS added

chore: remove redendant implicits

wip: get key metadata

wip: read key from jdbc secret storage

chore: remove in-memory impl

chore: use external lib for jwk

feat: get keypair of any type

fix: non secret sql

feat: support update-operation with new key type

chore: cleanup

fix: managed did curve usage validation

feat: store did secret vault impl

chore: cleanup
Signed-off-by: Pat Losoponkul <pat.losoponkul@iohk.io>
Pull Request #966: feat: key management for Ed25519 and X25519

109 of 352 new or added lines in 22 files covered. (30.97%)

340 existing lines in 109 files now uncovered.

4490 of 14393 relevant lines covered (31.2%)

0.31 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

72.73
/pollux/lib/vc-jwt/src/main/scala/io/iohk/atala/pollux/vc/jwt/MultiKey.scala
1
package io.iohk.atala.pollux.vc.jwt
2

3
import io.circe.*
4
import io.circe.syntax.*
5

6
case class MultiKey(
×
7
    publicKeyMultibase: Option[MultiBaseString] = None,
1✔
8
    secretKeyMultibase: Option[MultiBaseString] = None
9
) {
UNCOV
10
  val `type`: String = "Multikey"
×
11
  val `@context`: Set[String] = Set("https://w3id.org/security/multikey/v1")
12
}
13
object MultiKey {
14
  given multiKeyEncoder: Encoder[MultiKey] =
15
    (multiKey: MultiKey) =>
16
      Json
1✔
17
        .obj(
1✔
18
          ("@context", multiKey.`@context`.asJson),
1✔
19
          ("type", multiKey.`type`.asJson),
1✔
20
          ("publicKeyMultibase", multiKey.publicKeyMultibase.asJson),
1✔
21
          ("secretKeyMultibase", multiKey.secretKeyMultibase.asJson),
22
        )
23

24
  given multiKeyDecoder: Decoder[MultiKey] =
25
    (c: HCursor) =>
1✔
26
      for {
×
27
        publicKeyMultibase <- c.downField("publicKeyMultibase").as[Option[MultiBaseString]]
1✔
28
        secretKeyMultibase <- c.downField("secretKeyMultibase").as[Option[MultiBaseString]]
29
      } yield {
30
        MultiKey(
31
          publicKeyMultibase = publicKeyMultibase,
32
          secretKeyMultibase = secretKeyMultibase,
33
        )
34
      }
35

36
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc