package tech.easyflow.auth.entity;

import java.util.Date;
import java.util.List;

/**
 * 登录凭证加密公钥材料。
 */
public class CredentialKeyVO {

    /**
     * 当前密钥标识。
     */
    private String keyId;

    /**
     * PEM 格式公钥。
     */
    private String publicKey;

    /**
     * 公钥指纹。
     */
    private String fingerprint;

    /**
     * 加密算法描述。
     */
    private String algorithm;

    /**
     * 一次性 nonce。
     */
    private String nonce;

    /**
     * 安全材料过期时间。
     */
    private Date expiresAt;

    /**
     * 公钥轮换链。
     */
    private List<CredentialKeyTransitionVO> transitions;

    public String getKeyId() {
        return keyId;
    }

    public void setKeyId(String keyId) {
        this.keyId = keyId;
    }

    public String getPublicKey() {
        return publicKey;
    }

    public void setPublicKey(String publicKey) {
        this.publicKey = publicKey;
    }

    public String getFingerprint() {
        return fingerprint;
    }

    public void setFingerprint(String fingerprint) {
        this.fingerprint = fingerprint;
    }

    public String getAlgorithm() {
        return algorithm;
    }

    public void setAlgorithm(String algorithm) {
        this.algorithm = algorithm;
    }

    public String getNonce() {
        return nonce;
    }

    public void setNonce(String nonce) {
        this.nonce = nonce;
    }

    public Date getExpiresAt() {
        return expiresAt;
    }

    public void setExpiresAt(Date expiresAt) {
        this.expiresAt = expiresAt;
    }

    public List<CredentialKeyTransitionVO> getTransitions() {
        return transitions;
    }

    public void setTransitions(List<CredentialKeyTransitionVO> transitions) {
        this.transitions = transitions;
    }
}
