Class ProfileKeys

java.lang.Object
net.minecraft.client.util.ProfileKeys

@Environment(CLIENT) public class ProfileKeys extends Object
A class to fetch, load, and save the player's public and private keys.
Mappings:
Namespace Name
official esj
intermediary net/minecraft/class_7434
named net/minecraft/client/util/ProfileKeys
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
      Mappings:
      Namespace Name Mixin selector
      official a Lesj;a:Lorg/slf4j/Logger;
      intermediary field_39074 Lnet/minecraft/class_7434;field_39074:Lorg/slf4j/Logger;
      named LOGGER Lnet/minecraft/client/util/ProfileKeys;LOGGER:Lorg/slf4j/Logger;
    • PROFILE_KEYS_PATH

      private static final Path PROFILE_KEYS_PATH
      Mappings:
      Namespace Name Mixin selector
      official b Lesj;b:Ljava/nio/file/Path;
      intermediary field_39075 Lnet/minecraft/class_7434;field_39075:Ljava/nio/file/Path;
      named PROFILE_KEYS_PATH Lnet/minecraft/client/util/ProfileKeys;PROFILE_KEYS_PATH:Ljava/nio/file/Path;
    • jsonPath

      private final Path jsonPath
      Mappings:
      Namespace Name Mixin selector
      official c Lesj;c:Ljava/nio/file/Path;
      intermediary field_39076 Lnet/minecraft/class_7434;field_39076:Ljava/nio/file/Path;
      named jsonPath Lnet/minecraft/client/util/ProfileKeys;jsonPath:Ljava/nio/file/Path;
    • keyPairFuture

      private final CompletableFuture<PlayerKeyPair> keyPairFuture
      Mappings:
      Namespace Name Mixin selector
      official d Lesj;d:Ljava/util/concurrent/CompletableFuture;
      intermediary field_39077 Lnet/minecraft/class_7434;field_39077:Ljava/util/concurrent/CompletableFuture;
      named keyPairFuture Lnet/minecraft/client/util/ProfileKeys;keyPairFuture:Ljava/util/concurrent/CompletableFuture;
  • Constructor Details

    • ProfileKeys

      public ProfileKeys(com.mojang.authlib.minecraft.UserApiService userApiService, UUID uuid, Path root)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lesj;<init>(Lcom/mojang/authlib/minecraft/UserApiService;Ljava/util/UUID;Ljava/nio/file/Path;)V
      intermediary <init> Lnet/minecraft/class_7434;<init>(Lcom/mojang/authlib/minecraft/UserApiService;Ljava/util/UUID;Ljava/nio/file/Path;)V
      named <init> Lnet/minecraft/client/util/ProfileKeys;<init>(Lcom/mojang/authlib/minecraft/UserApiService;Ljava/util/UUID;Ljava/nio/file/Path;)V
  • Method Details

    • getKeyPair

      private CompletableFuture<PlayerKeyPair> getKeyPair(com.mojang.authlib.minecraft.UserApiService userApiService)
      Gets the key pair from the file cache, or if it is unavailable or expired, the Mojang server.
      Mappings:
      Namespace Name Mixin selector
      official a Lesj;a(Lcom/mojang/authlib/minecraft/UserApiService;)Ljava/util/concurrent/CompletableFuture;
      intermediary method_43602 Lnet/minecraft/class_7434;method_43602(Lcom/mojang/authlib/minecraft/UserApiService;)Ljava/util/concurrent/CompletableFuture;
      named getKeyPair Lnet/minecraft/client/util/ProfileKeys;getKeyPair(Lcom/mojang/authlib/minecraft/UserApiService;)Ljava/util/concurrent/CompletableFuture;
    • loadKeyPairFromFile

      private Optional<PlayerKeyPair> loadKeyPairFromFile()
      Returns the profile keys from the local cache.

      This can return expired keys.

      Returns:
      the profile keys from the local cache
      Implementation Note:
      The cache file is stored at .minecraft/profilekeys/<uuid>.json.
      Mappings:
      Namespace Name Mixin selector
      official d Lesj;d()Ljava/util/Optional;
      intermediary method_43606 Lnet/minecraft/class_7434;method_43606()Ljava/util/Optional;
      named loadKeyPairFromFile Lnet/minecraft/client/util/ProfileKeys;loadKeyPairFromFile()Ljava/util/Optional;
    • saveKeyPairToFile

      private void saveKeyPairToFile(@Nullable @Nullable PlayerKeyPair keyPair)
      Saves the keyPair to the cache file.
      Mappings:
      Namespace Name Mixin selector
      official a Lesj;a(Lbsh;)V
      intermediary method_43600 Lnet/minecraft/class_7434;method_43600(Lnet/minecraft/class_7427;)V
      named saveKeyPairToFile Lnet/minecraft/client/util/ProfileKeys;saveKeyPairToFile(Lnet/minecraft/network/encryption/PlayerKeyPair;)V
    • fetchKeyPair

      private PlayerKeyPair fetchKeyPair(com.mojang.authlib.minecraft.UserApiService userApiService) throws NetworkEncryptionException, IOException
      Returns the key pair fetched from Mojang's server.
      Returns:
      the key pair fetched from Mojang's server
      Throws:
      NetworkEncryptionException - when the fetched key is malformed
      IOException - when fetching fails
      Mappings:
      Namespace Name Mixin selector
      official b Lesj;b(Lcom/mojang/authlib/minecraft/UserApiService;)Lbsh;
      intermediary method_43605 Lnet/minecraft/class_7434;method_43605(Lcom/mojang/authlib/minecraft/UserApiService;)Lnet/minecraft/class_7427;
      named fetchKeyPair Lnet/minecraft/client/util/ProfileKeys;fetchKeyPair(Lcom/mojang/authlib/minecraft/UserApiService;)Lnet/minecraft/network/encryption/PlayerKeyPair;
    • createSignatureInstance

      @Nullable public @Nullable Signature createSignatureInstance() throws GeneralSecurityException
      Returns the SHA1withRSA signature instance used for signing, or null if there is no private key associated with the profile.
      Returns:
      the SHA1withRSA signature instance used for signing, or null if there is no private key associated with the profile
      Throws:
      GeneralSecurityException - when creation fails
      See Also:
      • invalid @see
        PlayerPublicKey.PublicKeyData#createSignatureInstance()
      API Note:
      Use {#link PlayerPublicKey.PublicKeyData#createSignatureInstance()} to create the signature for verifying the signatures.
      Mappings:
      Namespace Name Mixin selector
      official a Lesj;a()Ljava/security/Signature;
      intermediary method_43599 Lnet/minecraft/class_7434;method_43599()Ljava/security/Signature;
      named createSignatureInstance Lnet/minecraft/client/util/ProfileKeys;createSignatureInstance()Ljava/security/Signature;
    • method_43784

      public Optional<PlayerPublicKey.class_7443> method_43784()
      Mappings:
      Namespace Name Mixin selector
      official b Lesj;b()Ljava/util/Optional;
      intermediary method_43784 Lnet/minecraft/class_7434;method_43784()Ljava/util/Optional;
      named method_43784 Lnet/minecraft/client/util/ProfileKeys;method_43784()Ljava/util/Optional;
    • getPublicKey

      @Nullable public @Nullable PlayerPublicKey getPublicKey()
      Returns the public key, or null if there is no public key associated with the profile.
      Returns:
      the public key, or null if there is no public key associated with the profile
      Mappings:
      Namespace Name Mixin selector
      official c Lesj;c()Lbsi;
      intermediary method_43603 Lnet/minecraft/class_7434;method_43603()Lnet/minecraft/class_7428;
      named getPublicKey Lnet/minecraft/client/util/ProfileKeys;getPublicKey()Lnet/minecraft/network/encryption/PlayerPublicKey;
    • getPrivateKey

      @Nullable private @Nullable PrivateKey getPrivateKey()
      Returns the private key, or null if there is no private key associated with the profile.
      Returns:
      the private key, or null if there is no private key associated with the profile
      Mappings:
      Namespace Name Mixin selector
      official e Lesj;e()Ljava/security/PrivateKey;
      intermediary method_43608 Lnet/minecraft/class_7434;method_43608()Ljava/security/PrivateKey;
      named getPrivateKey Lnet/minecraft/client/util/ProfileKeys;getPrivateKey()Ljava/security/PrivateKey;