package tech.easyflow.auth.entity;

import javax.validation.constraints.NotEmpty;

/**
 * 前端密码加密信封。
 */
public class EncryptedCredentialDTO {

    /**
     * 密钥标识。
     */
    @NotEmpty(message = "keyId不能为空")
    private String keyId;

    /**
     * RSA-OAEP 加密后的 AES 密钥。
     */
    @NotEmpty(message = "encryptedKey不能为空")
    private String encryptedKey;

    /**
     * AES-GCM 初始向量。
     */
    @NotEmpty(message = "iv不能为空")
    private String iv;

    /**
     * AES-GCM 密文，包含认证标签。
     */
    @NotEmpty(message = "ciphertext不能为空")
    private String ciphertext;

    /**
     * 一次性请求随机数。
     */
    @NotEmpty(message = "nonce不能为空")
    private String nonce;

    public String getKeyId() {
        return keyId;
    }

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

    public String getEncryptedKey() {
        return encryptedKey;
    }

    public void setEncryptedKey(String encryptedKey) {
        this.encryptedKey = encryptedKey;
    }

    public String getIv() {
        return iv;
    }

    public void setIv(String iv) {
        this.iv = iv;
    }

    public String getCiphertext() {
        return ciphertext;
    }

    public void setCiphertext(String ciphertext) {
        this.ciphertext = ciphertext;
    }

    public String getNonce() {
        return nonce;
    }

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