isideload_apple_codesign/remote_signing/
mod.rs1pub mod session_negotiation;
8
9use {thiserror::Error, x509_certificate::X509CertificateError};
10
11pub const DEFAULT_SERVER_URL: &str = "wss://ws.codesign.gregoryszorc.com/";
13
14#[derive(Debug, Error)]
16pub enum RemoteSignError {
17 #[error("unexpected message received from relay server: {0}")]
18 ServerUnexpectedMessage(String),
19
20 #[error("error reported from relay server: {0}")]
21 ServerError(String),
22
23 #[error("not compatible with relay server; try upgrading to a new release?")]
24 ServerIncompatible,
25
26 #[error("cryptography error: {0}")]
27 Crypto(String),
28
29 #[error("bad client state: {0}")]
30 ClientState(&'static str),
31
32 #[error("joining state not wanted for this session type: {0}")]
33 SessionJoinUnwantedState(String),
34
35 #[error("base64 decode error: {0}")]
36 Base64(#[from] base64::DecodeError),
37
38 #[error("I/O error: {0}")]
39 Io(#[from] std::io::Error),
40
41 #[error("PEM encoding error: {0}")]
42 Pem(#[from] pem::PemError),
43
44 #[error("JSON serialization error: {0}")]
45 SerdeJson(#[from] serde_json::Error),
46
47 #[error("SPKI error: {0}")]
48 Spki(#[from] spki::Error),
49
50 #[error("X.509 certificate handler error: {0}")]
51 X509(#[from] X509CertificateError),
52}
53
54pub type SessionInfoCallback = fn(sjs_base64: &str, sjs_pem: &str) -> Result<(), RemoteSignError>;