blob: 37218a42c701193de96444d0549a0715b07bd3a5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
package com.yahoo.config.provision;
import ai.vespa.validation.PatternedStringWrapper;
import java.util.regex.Pattern;
/**
* Wraps a Wireguard key.
* For security reasons, this should only be used for public keys, although private keys use the same format.
*
* @author gjoranv
*/
public class WireguardKey extends PatternedStringWrapper<WireguardKey> {
// See https://stackoverflow.com/questions/74438436/how-to-validate-a-wireguard-public-key
private static final Pattern pattern = Pattern.compile("^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw480]=$");
public WireguardKey(String value) {
super(value, pattern, "Wireguard key");
}
public static WireguardKey from(String value) {
return new WireguardKey(value);
}
@Override
public String toString() {
return "Wireguard key '" + value() + "'";
}
}
|