Package io.fathom.cloud.identity.secrets

Source Code of io.fathom.cloud.identity.secrets.AuthenticatedUserKeys

package io.fathom.cloud.identity.secrets;

import io.fathom.cloud.protobuf.IdentityModel.UserSecretData;

import org.keyczar.Crypter;
import org.keyczar.KeyczarReaderWrapper;
import org.keyczar.KeyczarUtils;
import org.keyczar.RsaPrivateKey;
import org.keyczar.exceptions.KeyczarException;

public class AuthenticatedUserKeys {
    // private PrivateKey deprecatedPrivateKey = null;
    private RsaPrivateKey privateKey = null;

    final UserWithSecret user;
    final UserSecretData userSecretData;

    public AuthenticatedUserKeys(UserWithSecret user) {
        this.user = user;
        this.userSecretData = user.userSecretData;
    }

    SecretToken getSecretToken() {
        return user.getSecretToken();
    }

    // @Deprecated
    // public PrivateKey getDeprecatedPrivateKey() {
    // if (deprecatedPrivateKey == null) {
    // deprecatedPrivateKey =
    // KeyPairs.deserializePrivateKey(userSecretData.getPrivateKey().getEncoded()
    // .toByteArray());
    // }
    // return deprecatedPrivateKey;
    // }

    Crypter getAsymetricCrypter() {
        try {
            if (privateKey == null) {
                privateKey = KeyczarUtils.readRsaPrivateKey(userSecretData.getPrivateKey().getKeyczar());
            }
            // TODO: Cache crypter?
            return new Crypter(new KeyczarReaderWrapper(privateKey));
        } catch (KeyczarException e) {
            throw new IllegalStateException("Error reading private key", e);
        }
    }
}
TOP

Related Classes of io.fathom.cloud.identity.secrets.AuthenticatedUserKeys

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.