pub struct SignatureNotificationLinkedRequest {
pub relying_party_uuid: String,
pub relying_party_name: String,
pub certificate_level: CertificateLevel,
pub signature_protocol: SignatureProtocol,
pub signature_protocol_parameters: SignatureProtocolParameters,
pub linked_session_id: String,
pub nonce: Option<String>,
pub interactions: String,
pub request_properties: Option<RequestProperties>,
pub capabilities: Option<Vec<String>>,
}Expand description
Signature Notification Linked Request
This struct represents a request for a signature session with the Smart ID service using a push notification that is linked to a previous certificate choice session (No verification code required).
§Properties
relying_party_uuid- The UUID of the relying party, provided by Smart ID.relying_party_name- The name of the relying party, provided by Smart ID.certificate_level- The level of the certificate required for the signature.signature_protocol- The protocol used for the signature.signature_protocol_parameters- The parameters for the signature protocol.linked_session_id- The session ID of the linked certificate choice session.interactions- A base64 encoded JSON string of interactions allowed during the signature session. At least one interaction is required. Interactions are limited based on the flow type, look at the Interaction documentation for more information.nonce- An optional nonce for the request.request_properties- Optional properties for the request.capabilities- Used only when agreed with Smart-ID provider. When omitted, request capabilities are derived from thecertificate_levelparameter.
§Example
use smart_id_rust_client::config::SmartIDConfig;
use smart_id_rust_client::models::api::signature_session::SignatureNotificationLinkedRequest;
use smart_id_rust_client::models::interaction::Interaction;
use smart_id_rust_client::models::signature::{HashingAlgorithm, SignatureAlgorithm};
use smart_id_rust_client::error::Result;
fn create_signature_request(cfg: &SmartIDConfig) -> Result<SignatureNotificationLinkedRequest> {
let interactions = vec![Interaction::DisplayTextAndPIN {
display_text_60: "Sign document".to_string(),
}];
SignatureNotificationLinkedRequest::new(
cfg,
interactions,
"base64-encoded-digest".to_string(),
SignatureAlgorithm::RsassaPss,
"56e1c1d0-dc07-4c71-890b-6200856b8c75".to_string(),
HashingAlgorithm::sha_256,
)
}Fields§
§relying_party_uuid: String§relying_party_name: String§certificate_level: CertificateLevel§signature_protocol: SignatureProtocol§signature_protocol_parameters: SignatureProtocolParameters§linked_session_id: String§nonce: Option<String>§interactions: String§request_properties: Option<RequestProperties>§capabilities: Option<Vec<String>>Used only when agreed with Smart-ID provider. When omitted request capabilities are derived from certificateLevel parameter.
Implementations§
Source§impl SignatureNotificationLinkedRequest
impl SignatureNotificationLinkedRequest
Sourcepub fn new(
cfg: &SmartIDConfig,
interactions: Vec<Interaction>,
digest: String,
signature_algorithm: SignatureAlgorithm,
linked_session_id: String,
hash_algorithm: HashingAlgorithm,
) -> Result<Self>
pub fn new( cfg: &SmartIDConfig, interactions: Vec<Interaction>, digest: String, signature_algorithm: SignatureAlgorithm, linked_session_id: String, hash_algorithm: HashingAlgorithm, ) -> Result<Self>
Creates a new SignatureNotificationLinkedRequest.
§Arguments
cfg- The configuration for the Smart-ID service.interactions- A vector of interactions allowed during the signature session. At least one interaction is required. Interactions are limited based on the flow type, look at the Interaction documentation for more information.digest- The digest to be signed. Base64 encoded.signature_algorithm- The algorithm used for the signature.linked_session_id- The session ID of the linked certificate choice session.
§Errors
Returns an error if no interactions are defined or if any interaction has invalid text length.
Trait Implementations§
Source§impl Clone for SignatureNotificationLinkedRequest
impl Clone for SignatureNotificationLinkedRequest
Source§fn clone(&self) -> SignatureNotificationLinkedRequest
fn clone(&self) -> SignatureNotificationLinkedRequest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'de> Deserialize<'de> for SignatureNotificationLinkedRequest
impl<'de> Deserialize<'de> for SignatureNotificationLinkedRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for SignatureNotificationLinkedRequest
impl PartialEq for SignatureNotificationLinkedRequest
Source§fn eq(&self, other: &SignatureNotificationLinkedRequest) -> bool
fn eq(&self, other: &SignatureNotificationLinkedRequest) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SignatureNotificationLinkedRequest
Auto Trait Implementations§
impl Freeze for SignatureNotificationLinkedRequest
impl RefUnwindSafe for SignatureNotificationLinkedRequest
impl Send for SignatureNotificationLinkedRequest
impl Sync for SignatureNotificationLinkedRequest
impl Unpin for SignatureNotificationLinkedRequest
impl UnsafeUnpin for SignatureNotificationLinkedRequest
impl UnwindSafe for SignatureNotificationLinkedRequest
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more