@Override public X509 findByHexSha256( String hexSha256 ) { QueryBuilder<X509> builder = qbf.newQueryBuilder( X509.class ); builder = builder.where( eq( templateFor( X509.class ).sha256Fingerprint(), hexSha256 ) ); Query<X509> query = builder.newQuery( uowf.currentUnitOfWork() ); assert query.count() <= 1; return Collections.firstElementOrNull( query ); }
@Override public EscrowedKeyPair findByX509Identity( String x509Identity ) { QueryBuilder<EscrowedKeyPair> builder = qbf.newQueryBuilder( EscrowedKeyPair.class ); EscrowedKeyPair ekpTemplate = templateFor( EscrowedKeyPair.class ); builder = builder.where( contains( ekpTemplate.x509s(), x509Repository.findByIdentity( x509Identity ) ) ); Query<EscrowedKeyPair> query = builder.newQuery( uowf.currentUnitOfWork() ); assert query.count() <= 1; return Collections.firstElementOrNull( query ); }