MCPcopy Create free account
hub / github.com/jwtk/jjwt / ProviderKey

Class ProviderKey

impl/src/main/java/io/jsonwebtoken/impl/security/ProviderKey.java:24–76  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22import java.security.Provider;
23
24public class ProviderKey<T extends Key> implements Key, KeySupplier<T> {
25
26 private final T key;
27
28 private final Provider provider;
29
30 public static Provider getProvider(Key key, Provider backup) {
31 if (key instanceof ProviderKey<?>) {
32 ProviderKey<?> pkey = (ProviderKey<?>) key;
33 return Assert.stateNotNull(pkey.getProvider(), "ProviderKey provider can never be null.");
34 }
35 return backup;
36 }
37
38 @SuppressWarnings("unchecked")
39 public static <K extends Key> K getKey(K key) {
40 return key instanceof ProviderKey ? ((ProviderKey<K>) key).getKey() : key;
41 }
42
43 ProviderKey(Provider provider, T key) {
44 this.provider = Assert.notNull(provider, "Provider cannot be null.");
45 this.key = Assert.notNull(key, "Key argument cannot be null.");
46 if (key instanceof ProviderKey<?>) {
47 String msg = "Nesting not permitted.";
48 throw new IllegalArgumentException(msg);
49 }
50 }
51
52 @Override
53 public T getKey() {
54 return this.key;
55 }
56
57 @Override
58 public String getAlgorithm() {
59 return this.key.getAlgorithm();
60 }
61
62 @Override
63 public String getFormat() {
64 return this.key.getFormat();
65 }
66
67 @Override
68 public byte[] getEncoded() {
69 return this.key.getEncoded();
70 }
71
72 public final Provider getProvider() {
73 return this.provider;
74 }
75
76}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…