Dadoum commited on 2026-10-25 21:12:14
Showing 26 changed files, with 1853 additions and 1275 deletions.
| ... | ... |
@@ -155,6 +155,7 @@ dependencies = [ |
| 155 | 155 |
"cipher 0.5.2", |
| 156 | 156 |
"cpubits", |
| 157 | 157 |
"cpufeatures 0.3.0", |
| 158 |
+ "zeroize", |
|
| 158 | 159 |
] |
| 159 | 160 |
|
| 160 | 161 |
[[package]] |
| ... | ... |
@@ -882,6 +883,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" |
| 882 | 883 |
checksum = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa" |
| 883 | 884 |
dependencies = [ |
| 884 | 885 |
"hybrid-array", |
| 886 |
+ "zeroize", |
|
| 885 | 887 |
] |
| 886 | 888 |
|
| 887 | 889 |
[[package]] |
| ... | ... |
@@ -1151,6 +1153,7 @@ dependencies = [ |
| 1151 | 1153 |
"block-buffer 0.12.1", |
| 1152 | 1154 |
"crypto-common 0.2.2", |
| 1153 | 1155 |
"inout 0.2.2", |
| 1156 |
+ "zeroize", |
|
| 1154 | 1157 |
] |
| 1155 | 1158 |
|
| 1156 | 1159 |
[[package]] |
| ... | ... |
@@ -2182,6 +2185,13 @@ dependencies = [ |
| 2182 | 2185 |
[[package]] |
| 2183 | 2186 |
name = "fairplay" |
| 2184 | 2187 |
version = "0.1.0" |
| 2188 |
+dependencies = [ |
|
| 2189 |
+ "aes 0.9.1", |
|
| 2190 |
+ "cbc 0.2.1", |
|
| 2191 |
+ "md-5", |
|
| 2192 |
+ "thiserror 2.0.18", |
|
| 2193 |
+ "zeroize", |
|
| 2194 |
+] |
|
| 2185 | 2195 |
|
| 2186 | 2196 |
[[package]] |
| 2187 | 2197 |
name = "fastrand" |
| ... | ... |
@@ -3387,6 +3397,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" |
| 3387 | 3397 |
checksum = "818356c5132c1fede50f837ca96afbe78ff42413047f4abb886217845e1b6c8c" |
| 3388 | 3398 |
dependencies = [ |
| 3389 | 3399 |
"typenum", |
| 3400 |
+ "zeroize", |
|
| 3390 | 3401 |
] |
| 3391 | 3402 |
|
| 3392 | 3403 |
[[package]] |
| ... | ... |
@@ -5573,15 +5584,6 @@ dependencies = [ |
| 5573 | 5584 |
"cc", |
| 5574 | 5585 |
] |
| 5575 | 5586 |
|
| 5576 |
-[[package]] |
|
| 5577 |
-name = "purple-builder" |
|
| 5578 |
-version = "0.1.0" |
|
| 5579 |
-dependencies = [ |
|
| 5580 |
- "adi", |
|
| 5581 |
- "elf-loader", |
|
| 5582 |
- "env_logger", |
|
| 5583 |
-] |
|
| 5584 |
- |
|
| 5585 | 5587 |
[[package]] |
| 5586 | 5588 |
name = "pxfm" |
| 5587 | 5589 |
version = "0.1.30" |
| ... | ... |
@@ -6126,27 +6128,6 @@ dependencies = [ |
| 6126 | 6128 |
"zeroize", |
| 6127 | 6129 |
] |
| 6128 | 6130 |
|
| 6129 |
-[[package]] |
|
| 6130 |
-name = "rust-adi" |
|
| 6131 |
-version = "0.1.0" |
|
| 6132 |
-dependencies = [ |
|
| 6133 |
- "adi", |
|
| 6134 |
- "aes 0.9.1", |
|
| 6135 |
- "base64", |
|
| 6136 |
- "cbc 0.2.1", |
|
| 6137 |
- "getrandom 0.4.3", |
|
| 6138 |
- "grandslam", |
|
| 6139 |
- "hex", |
|
| 6140 |
- "md-5", |
|
| 6141 |
- "plist", |
|
| 6142 |
- "reqwest", |
|
| 6143 |
- "serde_json", |
|
| 6144 |
- "sha1 0.11.0", |
|
| 6145 |
- "sha2 0.10.9", |
|
| 6146 |
- "tempfile", |
|
| 6147 |
- "tokio", |
|
| 6148 |
-] |
|
| 6149 |
- |
|
| 6150 | 6131 |
[[package]] |
| 6151 | 6132 |
name = "rust-embed" |
| 6152 | 6133 |
version = "8.11.0" |
| ... | ... |
@@ -7149,6 +7130,7 @@ dependencies = [ |
| 7149 | 7130 |
"crc32fast", |
| 7150 | 7131 |
"der", |
| 7151 | 7132 |
"directories", |
| 7133 |
+ "dlopen2", |
|
| 7152 | 7134 |
"env_logger", |
| 7153 | 7135 |
"flate2", |
| 7154 | 7136 |
"futures", |
| ... | ... |
@@ -7163,12 +7145,12 @@ dependencies = [ |
| 7163 | 7145 |
"libc", |
| 7164 | 7146 |
"library-coreadi", |
| 7165 | 7147 |
"log", |
| 7148 |
+ "ouroboros", |
|
| 7166 | 7149 |
"pem-rfc7468", |
| 7167 | 7150 |
"plist", |
| 7168 | 7151 |
"rand 0.10.2", |
| 7169 | 7152 |
"reqwest", |
| 7170 | 7153 |
"rsa", |
| 7171 |
- "rust-adi", |
|
| 7172 | 7154 |
"serde", |
| 7173 | 7155 |
"sha1 0.11.0", |
| 7174 | 7156 |
"sha2 0.10.9", |
| ... | ... |
@@ -1,6 +1,6 @@ |
| 1 | 1 |
[workspace] |
| 2 | 2 |
resolver = "2" |
| 3 |
-members = ["adi", "adid-proxy", "android-coreadi", "aps", "grandslam", "apple-codesign-quick", "elf-loader", "fairplay", "icloud", "itunes", "library-coreadi", "plist-macros", "purple-builder", "super-sideloader", "xcode"] |
|
| 3 |
+members = ["adi", "adid-proxy", "android-coreadi", "aps", "grandslam", "apple-codesign-quick", "elf-loader", "fairplay", "icloud", "itunes", "library-coreadi", "plist-macros", "super-sideloader", "xcode"] |
|
| 4 | 4 |
|
| 5 | 5 |
[workspace.dependencies] |
| 6 | 6 |
adi = { path = "adi" }
|
| ... | ... |
@@ -44,8 +44,8 @@ Connecting moves the identity into the connection; reconnecting reuses it |
| 44 | 44 |
without cloning the private key. |
| 45 | 45 |
|
| 46 | 46 |
The signer is synchronous, like a local cryptographic provider. Applications |
| 47 |
-using a slow signer should schedule activation accordingly. The built-in Windows |
|
| 48 |
-signer uses embedded constants and Rust cryptography. |
|
| 47 |
+using a slow signer should schedule activation accordingly. The built-in Mac |
|
| 48 |
+signer uses embedded constants and Rust cryptography on all supported platforms. |
|
| 49 | 49 |
|
| 50 | 50 |
## Connection lifetime and persistence |
| 51 | 51 |
|
| ... | ... |
@@ -101,15 +101,29 @@ part of this crate. |
| 101 | 101 |
The HTTPS client also needs this root for `init.push.apple.com`, as shown above. |
| 102 | 102 |
It is not included in every operating system's default trust store. |
| 103 | 103 |
|
| 104 |
-## Standalone Windows signing identity |
|
| 104 |
+## Standalone activation signer |
|
| 105 | 105 |
|
| 106 |
-`WindowsActivationSigner::new()` selects one of ten embedded activation signing |
|
| 107 |
-identities recovered from iCloud 15.10.39.0 x64. Their RSA primes and matching |
|
| 108 |
-certificates live in a private constants module, with the shared CA chain stored |
|
| 109 |
-once. No DLL or extraction step is needed. Signing errors use `rsa::Error`. |
|
| 106 |
+`MacOsActivationSigner::new()` selects one of ten software signing identities |
|
| 107 |
+recovered from macOS `apsd`. It requires no Apple library, emulation or hardware |
|
| 108 |
+operation. Supply an `ActivationDevice` with `device_class: "MacOS"` and the |
|
| 109 |
+profile to activate. The library uses Apple's macOS deviceservices endpoint. |
|
| 110 |
+The device profile remains the caller's responsibility; the signer does not |
|
| 111 |
+read or invent model, serial or host identifiers. |
|
| 112 |
+ |
|
| 113 |
+```rust,ignore |
|
| 114 |
+let signer = aps::MacOsActivationSigner::new(); |
|
| 115 |
+let identity = aps::activate(&client, &device, &signer).await?; |
|
| 116 |
+``` |
|
| 117 |
+ |
|
| 118 |
+The example uses a synthetic Mac profile by default. Use `--device DEVICE.plist` |
|
| 119 |
+to supply your own profile for fresh activation. The plist |
|
| 120 |
+requires string fields `ProductType`, `ProductVersion`, `BuildVersion`, |
|
| 121 |
+`SerialNumber`, and `UniqueDeviceID`. `UniqueDeviceID` corresponds to the native |
|
| 122 |
+host UUID (`gethostuuid`), normally formatted as an uppercase UUID. Restoring |
|
| 123 |
+an existing state file needs no profile or signing operation. |
|
| 110 | 124 |
|
| 111 | 125 |
```sh |
| 112 |
-cargo run -p aps --example push_token -- /path/to/push-state.plist |
|
| 126 |
+cargo run -p aps --example push_token -- /path/to/push-state.plist --check-connection |
|
| 113 | 127 |
``` |
| 114 | 128 |
|
| 115 | 129 |
Add `--check-connection` to drive receive/keepalive for 95 seconds, reconnect, |
| ... | ... |
@@ -127,11 +141,11 @@ Windows client and rustpush's public protocol implementation. This crate does |
| 127 | 141 |
not depend on rustpush or its account APIs. |
| 128 | 142 |
|
| 129 | 143 |
Outgoing messages and acknowledgement handling were also checked against |
| 130 |
-macOS 27's `apsd`; see [the comparison notes](../research/aps/docs/macos-protocol.md). |
|
| 131 |
- |
|
| 132 |
-See [the signing format notes](../research/aps/docs/windows-signing.md) for the decoded wrapping |
|
| 133 |
-format and its provenance. |
|
| 134 |
- |
|
| 135 |
-All ten embedded identities passed independent RSA signature verification. |
|
| 136 |
-The standalone Rust signer also completed live activation and obtained a |
|
| 137 |
-32-byte push token; restoring that state reused the same token without a DLL. |
|
| 144 |
+macOS 27's `apsd`. |
|
| 145 |
+ |
|
| 146 |
+The Mac signer matches thirteen native signatures covering all ten Mac |
|
| 147 |
+identities. Tests also check all ten key/certificate pairs. |
|
| 148 |
+On October 25, 2026, the Mac signer completed live activation and obtained a |
|
| 149 |
+32-byte push token on macOS and on the Ubuntu ARM64 VM. The Linux activation |
|
| 150 |
+used a synthetic serial and generated UUID. Keepalive, reconnect and a separate |
|
| 151 |
+process restart preserved the token on both platforms. |
| ... | ... |
@@ -1,5 +1,5 @@ |
| 1 |
-//! cargo run -p aps --example push_token -- STATE.plist [--check-connection] |
|
| 2 |
-use aps::{ActivationDevice, PushConnection, PushIdentity, PushToken, WindowsActivationSigner};
|
|
| 1 |
+//! cargo run -p aps --example push_token -- STATE.plist [--device DEVICE.plist] [--check-connection] |
|
| 2 |
+use aps::{ActivationDevice, MacOsActivationSigner, PushConnection, PushIdentity, PushToken};
|
|
| 3 | 3 |
use plist::Data; |
| 4 | 4 |
use rsa::{
|
| 5 | 5 |
RsaPrivateKey, |
| ... | ... |
@@ -11,7 +11,7 @@ use thiserror::Error; |
| 11 | 11 |
|
| 12 | 12 |
#[derive(Debug, Error)] |
| 13 | 13 |
enum ExampleError {
|
| 14 |
- #[error("usage: push_token STATE.plist [--check-connection]")]
|
|
| 14 |
+ #[error("usage: push_token STATE.plist [--device DEVICE.plist] [--check-connection]")]
|
|
| 15 | 15 |
Usage, |
| 16 | 16 |
#[error(transparent)] |
| 17 | 17 |
Io(#[from] io::Error), |
| ... | ... |
@@ -38,13 +38,32 @@ struct SavedState {
|
| 38 | 38 |
token: PushToken, |
| 39 | 39 |
} |
| 40 | 40 |
|
| 41 |
+#[derive(Deserialize)] |
|
| 42 |
+#[serde(rename_all = "PascalCase")] |
|
| 43 |
+struct DeviceProfile {
|
|
| 44 |
+ product_type: String, |
|
| 45 |
+ product_version: String, |
|
| 46 |
+ build_version: String, |
|
| 47 |
+ serial_number: String, |
|
| 48 |
+ #[serde(rename = "UniqueDeviceID")] |
|
| 49 |
+ unique_device_id: String, |
|
| 50 |
+} |
|
| 51 |
+ |
|
| 41 | 52 |
#[tokio::main] |
| 42 | 53 |
async fn main() -> Result<(), ExampleError> {
|
| 43 |
- let args: Vec<_> = std::env::args_os().skip(1).collect(); |
|
| 44 |
- if args.is_empty() || args.len() > 2 || (args.len() == 2 && args[1] != "--check-connection") {
|
|
| 54 |
+ let mut args = std::env::args_os().skip(1); |
|
| 55 |
+ let state_path = PathBuf::from(args.next().ok_or(ExampleError::Usage)?); |
|
| 56 |
+ let mut device_profile = None; |
|
| 57 |
+ let mut check_connection = false; |
|
| 58 |
+ while let Some(argument) = args.next() {
|
|
| 59 |
+ if argument == "--device" && device_profile.is_none() {
|
|
| 60 |
+ device_profile = Some(PathBuf::from(args.next().ok_or(ExampleError::Usage)?)); |
|
| 61 |
+ } else if argument == "--check-connection" && !check_connection {
|
|
| 62 |
+ check_connection = true; |
|
| 63 |
+ } else {
|
|
| 45 | 64 |
return Err(ExampleError::Usage); |
| 46 | 65 |
} |
| 47 |
- let state_path = PathBuf::from(&args[0]); |
|
| 66 |
+ } |
|
| 48 | 67 |
let client = reqwest::Client::builder() |
| 49 | 68 |
.tls_certs_merge([reqwest::Certificate::from_der(aps::APPLE_ROOT_CA)?]) |
| 50 | 69 |
.timeout(Duration::from_secs(30)) |
| ... | ... |
@@ -64,18 +83,26 @@ async fn main() -> Result<(), ExampleError> {
|
| 64 | 83 |
connection |
| 65 | 84 |
} |
| 66 | 85 |
Err(error) if error.kind() == io::ErrorKind::NotFound => {
|
| 67 |
- let udid = uuid::Uuid::new_v4().to_string().to_uppercase(); |
|
| 68 |
- // Values observed in Apple's Windows activation client. |
|
| 86 |
+ let profile = match device_profile {
|
|
| 87 |
+ Some(path) => plist::from_bytes::<DeviceProfile>(&fs::read(path)?)?, |
|
| 88 |
+ None => DeviceProfile {
|
|
| 89 |
+ // Synthetic profile verified against Apple's activation service. |
|
| 90 |
+ product_type: "MacBookPro18,3".into(), |
|
| 91 |
+ product_version: "27.0.1".into(), |
|
| 92 |
+ build_version: "26A434".into(), |
|
| 93 |
+ serial_number: "C02SYNTHETIC".into(), |
|
| 94 |
+ unique_device_id: uuid::Uuid::new_v4().to_string().to_uppercase(), |
|
| 95 |
+ }, |
|
| 96 |
+ }; |
|
| 69 | 97 |
let device = ActivationDevice {
|
| 70 |
- device_class: "Windows", |
|
| 71 |
- product_type: "windows1,1", |
|
| 72 |
- product_version: "10.6.4", |
|
| 73 |
- build_version: "10.6.4", |
|
| 74 |
- serial_number: "WindowSerial", |
|
| 75 |
- unique_device_id: &udid, |
|
| 98 |
+ device_class: "MacOS", |
|
| 99 |
+ product_type: &profile.product_type, |
|
| 100 |
+ product_version: &profile.product_version, |
|
| 101 |
+ build_version: &profile.build_version, |
|
| 102 |
+ serial_number: &profile.serial_number, |
|
| 103 |
+ unique_device_id: &profile.unique_device_id, |
|
| 76 | 104 |
}; |
| 77 |
- let signer = WindowsActivationSigner::new(); |
|
| 78 |
- let identity = aps::activate(&client, &device, &signer).await?; |
|
| 105 |
+ let identity = aps::activate(&client, &device, &MacOsActivationSigner::new()).await?; |
|
| 79 | 106 |
println!( |
| 80 | 107 |
"Activated; device certificate is {} bytes",
|
| 81 | 108 |
identity.certificate().len() |
| ... | ... |
@@ -113,7 +140,7 @@ async fn main() -> Result<(), ExampleError> {
|
| 113 | 140 |
"Courier payload limit: {} bytes",
|
| 114 | 141 |
connection.max_payload_size() |
| 115 | 142 |
); |
| 116 |
- if args.len() == 2 {
|
|
| 143 |
+ if check_connection {
|
|
| 117 | 144 |
// Drive the first keepalive (60s) and its response deadline (30s). |
| 118 | 145 |
// Do not print received payloads or credential values. |
| 119 | 146 |
let until = tokio::time::Instant::now() + Duration::from_secs(95); |
| ... | ... |
@@ -52,7 +52,7 @@ pub enum ActivationError<E> {
|
| 52 | 52 |
} |
| 53 | 53 |
|
| 54 | 54 |
/// Fields placed in Apple's activation-info plist, excluding the generated CSR |
| 55 |
-/// and activation nonce. `device_class` also selects the activation endpoint. |
|
| 55 |
+/// and activation nonce. `device_class` is also sent as the activation endpoint's device query parameter. |
|
| 56 | 56 |
pub struct ActivationDevice<'a> {
|
| 57 | 57 |
pub device_class: &'a str, |
| 58 | 58 |
pub product_type: &'a str, |
| ... | ... |
@@ -121,13 +121,14 @@ pub(crate) fn sign_sha1(key: &RsaPrivateKey, data: &[u8]) -> Result<Vec<u8>, rsa |
| 121 | 121 |
key.sign_with_rng(&mut OsRng, Pkcs1v15Sign::new_unprefixed(), &digest_info) |
| 122 | 122 |
} |
| 123 | 123 |
|
| 124 |
-/// Generates a device key and CSR, then requests an activation certificate. |
|
| 125 |
-/// Use a plain HTTP client; account authentication headers are not needed here. |
|
| 126 |
-pub async fn activate<S: ActivationSigner>( |
|
| 127 |
- client: &Client, |
|
| 124 |
+/// Builds the signed `activation-info` request body and the matching device key. |
|
| 125 |
+/// `activate` posts this body; exposing it lets a caller replay the identical |
|
| 126 |
+/// bytes through another HTTP stack for comparison. Each call generates a fresh |
|
| 127 |
+/// device key and activation randomness. |
|
| 128 |
+pub fn build_activation_request<S: ActivationSigner>( |
|
| 128 | 129 |
device: &ActivationDevice<'_>, |
| 129 | 130 |
signer: &S, |
| 130 |
-) -> Result<PushIdentity, ActivationError<S::Error>> {
|
|
| 131 |
+) -> Result<(Vec<u8>, RsaPrivateKey), ActivationError<S::Error>> {
|
|
| 131 | 132 |
let private_key = RsaPrivateKey::new(&mut OsRng, 1024)?; |
| 132 | 133 |
let info = CertReqInfo {
|
| 133 | 134 |
version: Default::default(), |
| ... | ... |
@@ -176,8 +177,19 @@ pub async fn activate<S: ActivationSigner>( |
| 176 | 177 |
]); |
| 177 | 178 |
let mut body = Vec::new(); |
| 178 | 179 |
plist::to_writer_xml(&mut body, &envelope)?; |
| 180 |
+ Ok((body, private_key)) |
|
| 181 |
+} |
|
| 182 |
+ |
|
| 183 |
+/// Generates a device key and CSR, then requests an activation certificate. |
|
| 184 |
+/// Use a plain HTTP client; account authentication headers are not needed here. |
|
| 185 |
+pub async fn activate<S: ActivationSigner>( |
|
| 186 |
+ client: &Client, |
|
| 187 |
+ device: &ActivationDevice<'_>, |
|
| 188 |
+ signer: &S, |
|
| 189 |
+) -> Result<PushIdentity, ActivationError<S::Error>> {
|
|
| 190 |
+ let (body, private_key) = build_activation_request(device, signer)?; |
|
| 179 | 191 |
let response = client |
| 180 |
- .post("https://albert.apple.com/WebObjects/ALUnbrick.woa/wa/deviceActivation")
|
|
| 192 |
+ .post("https://albert.apple.com/deviceservices/deviceActivation")
|
|
| 181 | 193 |
.query(&[("device", device.device_class)])
|
| 182 | 194 |
.form(&[("activation-info", String::from_utf8_lossy(&body).as_ref())])
|
| 183 | 195 |
.send() |
| ... | ... |
@@ -185,7 +197,7 @@ pub async fn activate<S: ActivationSigner>( |
| 185 | 197 |
.error_for_status()? |
| 186 | 198 |
.bytes() |
| 187 | 199 |
.await?; |
| 188 |
- // The Windows endpoint wraps the response plist in an HTML Protocol element. |
|
| 200 |
+ // Activation responses may wrap the plist in an HTML Protocol element. |
|
| 189 | 201 |
let text = String::from_utf8_lossy(&response); |
| 190 | 202 |
let payload = match text.split_once("<Protocol>") {
|
| 191 | 203 |
Some((_, rest)) => rest |
| ... | ... |
@@ -5,18 +5,18 @@ |
| 5 | 5 |
|
| 6 | 6 |
mod activation; |
| 7 | 7 |
mod connection; |
| 8 |
+mod macos_signer; |
|
| 8 | 9 |
mod protocol; |
| 9 |
-mod windows_signer; |
|
| 10 | 10 |
|
| 11 | 11 |
pub use activation::{
|
| 12 | 12 |
ActivationDevice, ActivationError, ActivationSignature, ActivationSigner, IdentityError, |
| 13 |
- PushIdentity, activate, |
|
| 13 |
+ PushIdentity, activate, build_activation_request, |
|
| 14 | 14 |
}; |
| 15 | 15 |
pub use connection::{
|
| 16 | 16 |
ConnectError, Event, Notification, PushConnection, PushToken, SendError, SendStatus, |
| 17 | 17 |
}; |
| 18 |
+pub use macos_signer::MacOsActivationSigner; |
|
| 18 | 19 |
pub use protocol::CourierError; |
| 19 |
-pub use windows_signer::WindowsActivationSigner; |
|
| 20 | 20 |
|
| 21 | 21 |
/// DER-encoded Apple root needed by the push configuration HTTPS endpoint. |
| 22 | 22 |
/// Add it to the HTTP client's trust store before connecting. |
| ... | ... |
@@ -0,0 +1,100 @@ |
| 1 |
+mod constants; |
|
| 2 |
+#[cfg(test)] |
|
| 3 |
+mod vectors; |
|
| 4 |
+ |
|
| 5 |
+use crate::{ActivationSignature, ActivationSigner, activation::sign_sha1};
|
|
| 6 |
+use constants::{CERTIFICATE_AUTHORITY_CHAIN, IDENTITIES, SigningIdentity};
|
|
| 7 |
+use rsa::{
|
|
| 8 |
+ BigUint, RsaPrivateKey, |
|
| 9 |
+ rand_core::{OsRng, RngCore},
|
|
| 10 |
+}; |
|
| 11 |
+ |
|
| 12 |
+/// Signs MacOS activation requests using apsd's embedded FairPlay identities. |
|
| 13 |
+/// Uses only Rust cryptography and constants; no Apple library or hardware is required. |
|
| 14 |
+pub struct MacOsActivationSigner {
|
|
| 15 |
+ private_key: RsaPrivateKey, |
|
| 16 |
+ certificate: &'static [u8], |
|
| 17 |
+} |
|
| 18 |
+ |
|
| 19 |
+impl MacOsActivationSigner {
|
|
| 20 |
+ /// Selects one of the ten software activation identities recovered from apsd. |
|
| 21 |
+ pub fn new() -> Self {
|
|
| 22 |
+ let identity = &IDENTITIES[OsRng.next_u32() as usize % IDENTITIES.len()]; |
|
| 23 |
+ Self::from_identity(identity) |
|
| 24 |
+ } |
|
| 25 |
+ |
|
| 26 |
+ fn from_identity(identity: &SigningIdentity) -> Self {
|
|
| 27 |
+ let private_key = RsaPrivateKey::from_p_q( |
|
| 28 |
+ BigUint::from_bytes_be(&identity.p), |
|
| 29 |
+ BigUint::from_bytes_be(&identity.q), |
|
| 30 |
+ 65537u32.into(), |
|
| 31 |
+ ) |
|
| 32 |
+ .expect("embedded activation primes must form a valid RSA key");
|
|
| 33 |
+ Self {
|
|
| 34 |
+ private_key, |
|
| 35 |
+ certificate: identity.certificate, |
|
| 36 |
+ } |
|
| 37 |
+ } |
|
| 38 |
+} |
|
| 39 |
+ |
|
| 40 |
+impl Default for MacOsActivationSigner {
|
|
| 41 |
+ fn default() -> Self {
|
|
| 42 |
+ Self::new() |
|
| 43 |
+ } |
|
| 44 |
+} |
|
| 45 |
+ |
|
| 46 |
+impl ActivationSigner for MacOsActivationSigner {
|
|
| 47 |
+ type Error = rsa::Error; |
|
| 48 |
+ |
|
| 49 |
+ fn sign(&self, xml: &[u8]) -> Result<ActivationSignature, Self::Error> {
|
|
| 50 |
+ Ok(ActivationSignature {
|
|
| 51 |
+ signature: sign_sha1(&self.private_key, xml)?, |
|
| 52 |
+ certificate_chain: [self.certificate, CERTIFICATE_AUTHORITY_CHAIN].concat(), |
|
| 53 |
+ }) |
|
| 54 |
+ } |
|
| 55 |
+} |
|
| 56 |
+ |
|
| 57 |
+#[cfg(test)] |
|
| 58 |
+mod tests {
|
|
| 59 |
+ use super::*; |
|
| 60 |
+ use rsa::{RsaPublicKey, pkcs8::DecodePublicKey};
|
|
| 61 |
+ use x509_cert::{
|
|
| 62 |
+ Certificate, |
|
| 63 |
+ der::{Decode, Encode},
|
|
| 64 |
+ }; |
|
| 65 |
+ |
|
| 66 |
+ #[test] |
|
| 67 |
+ fn signatures_match_native_apsd_for_every_identity() {
|
|
| 68 |
+ let mut covered = [false; 10]; |
|
| 69 |
+ for &(index, message, expected_signature) in vectors::VECTORS {
|
|
| 70 |
+ let identity = &IDENTITIES[index]; |
|
| 71 |
+ let signer = MacOsActivationSigner::from_identity(identity); |
|
| 72 |
+ let signed = signer.sign(message).unwrap(); |
|
| 73 |
+ assert_eq!(signed.signature, expected_signature, "identity {index}");
|
|
| 74 |
+ assert_eq!( |
|
| 75 |
+ signed.certificate_chain, |
|
| 76 |
+ [identity.certificate, CERTIFICATE_AUTHORITY_CHAIN].concat() |
|
| 77 |
+ ); |
|
| 78 |
+ covered[index] = true; |
|
| 79 |
+ } |
|
| 80 |
+ assert!(covered.into_iter().all(|covered| covered)); |
|
| 81 |
+ } |
|
| 82 |
+ |
|
| 83 |
+ #[test] |
|
| 84 |
+ fn keys_match_certificates() {
|
|
| 85 |
+ for identity in &IDENTITIES {
|
|
| 86 |
+ let signer = MacOsActivationSigner::from_identity(identity); |
|
| 87 |
+ signer.private_key.validate().unwrap(); |
|
| 88 |
+ let certificate = Certificate::from_der(identity.certificate).unwrap(); |
|
| 89 |
+ let public = RsaPublicKey::from_public_key_der( |
|
| 90 |
+ &certificate |
|
| 91 |
+ .tbs_certificate |
|
| 92 |
+ .subject_public_key_info |
|
| 93 |
+ .to_der() |
|
| 94 |
+ .unwrap(), |
|
| 95 |
+ ) |
|
| 96 |
+ .unwrap(); |
|
| 97 |
+ assert_eq!(signer.private_key.to_public_key(), public); |
|
| 98 |
+ } |
|
| 99 |
+ } |
|
| 100 |
+} |
| ... | ... |
@@ -0,0 +1,848 @@ |
| 1 |
+// Software activation identities from macOS 27.0.1 (26A434) apsd, arm64e. |
|
| 2 |
+// Recovered and verified by research/aps/analysis/recover_activation_identities.py. |
|
| 3 |
+// Only the RSA primes are retained; Rust reconstructs the CRT parameters. |
|
| 4 |
+ |
|
| 5 |
+pub(super) struct SigningIdentity {
|
|
| 6 |
+ pub p: [u8; 64], |
|
| 7 |
+ pub q: [u8; 64], |
|
| 8 |
+ pub certificate: &'static [u8], |
|
| 9 |
+} |
|
| 10 |
+ |
|
| 11 |
+pub(super) static IDENTITIES: [SigningIdentity; 10] = [ |
|
| 12 |
+ // CN=APN.3333AF100723AF0002AF000001. |
|
| 13 |
+ SigningIdentity {
|
|
| 14 |
+ p: [ |
|
| 15 |
+ 0xc2, 0x20, 0xe4, 0x21, 0x39, 0xbe, 0x4a, 0x5f, 0x87, 0xae, 0x2b, 0x55, 0x86, 0x1f, |
|
| 16 |
+ 0x5c, 0x0a, 0xcc, 0x1b, 0xac, 0x8c, 0xab, 0x4a, 0x47, 0x24, 0xa7, 0xe7, 0x9a, 0xe9, |
|
| 17 |
+ 0xec, 0x9e, 0x20, 0x19, 0xf0, 0x7b, 0x07, 0x28, 0xf9, 0x37, 0x90, 0x2a, 0x43, 0x98, |
|
| 18 |
+ 0x24, 0x20, 0x78, 0xe5, 0x91, 0x85, 0x7d, 0xfc, 0xd8, 0xfc, 0x57, 0x3a, 0x05, 0xcd, |
|
| 19 |
+ 0xe4, 0xee, 0xc7, 0x68, 0x88, 0x05, 0x6a, 0x19, |
|
| 20 |
+ ], |
|
| 21 |
+ q: [ |
|
| 22 |
+ 0xde, 0xc4, 0x99, 0x35, 0x81, 0x89, 0x2c, 0xf0, 0x71, 0x72, 0x2b, 0x48, 0x45, 0x2d, |
|
| 23 |
+ 0x9a, 0x60, 0x33, 0x87, 0xc5, 0x0a, 0x1a, 0x4d, 0xee, 0x86, 0x44, 0xc5, 0x06, 0xfe, |
|
| 24 |
+ 0x9f, 0x19, 0x13, 0x59, 0xed, 0x0b, 0x55, 0x05, 0xfa, 0xa3, 0xe7, 0x59, 0x84, 0x2f, |
|
| 25 |
+ 0xd8, 0x58, 0xe8, 0x3d, 0xa9, 0x3e, 0x36, 0x69, 0xc3, 0xad, 0x44, 0x3c, 0xce, 0x28, |
|
| 26 |
+ 0x1b, 0xec, 0x42, 0x92, 0x84, 0xaf, 0x76, 0x6d, |
|
| 27 |
+ ], |
|
| 28 |
+ certificate: &[ |
|
| 29 |
+ 0x30, 0x82, 0x02, 0xc1, 0x30, 0x82, 0x02, 0x2a, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 30 |
+ 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x07, 0x23, 0xaf, 0x00, 0x02, 0xaf, 0x00, 0x00, 0x01, |
|
| 31 |
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 32 |
+ 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 33 |
+ 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 34 |
+ 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 35 |
+ 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 36 |
+ 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 37 |
+ 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 38 |
+ 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 39 |
+ 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 40 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 41 |
+ 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x30, 0x32, 0x33, 0x30, |
|
| 42 |
+ 0x30, 0x38, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x30, 0x37, 0x32, 0x32, 0x30, 0x32, 0x33, |
|
| 43 |
+ 0x30, 0x30, 0x38, 0x5a, 0x30, 0x64, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 44 |
+ 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 45 |
+ 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 46 |
+ 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 47 |
+ 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x27, 0x30, 0x25, 0x06, |
|
| 48 |
+ 0x03, 0x55, 0x04, 0x03, 0x13, 0x1e, 0x41, 0x50, 0x4e, 0x2e, 0x33, 0x33, 0x33, 0x33, |
|
| 49 |
+ 0x41, 0x46, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x41, 0x46, 0x30, 0x30, 0x30, 0x32, |
|
| 50 |
+ 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, |
|
| 51 |
+ 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, |
|
| 52 |
+ 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xa8, 0xed, 0x9b, 0x31, 0xb4, |
|
| 53 |
+ 0xe4, 0xe9, 0x36, 0x47, 0x98, 0xe0, 0x58, 0xe3, 0xbb, 0x62, 0x90, 0x0c, 0x58, 0x6d, |
|
| 54 |
+ 0xaf, 0x05, 0xc4, 0x38, 0xc5, 0xd6, 0xe5, 0x6a, 0x19, 0x6e, 0xbc, 0x91, 0x71, 0x23, |
|
| 55 |
+ 0x63, 0x73, 0x38, 0x42, 0x30, 0xe5, 0x20, 0xe9, 0xac, 0xe9, 0x0c, 0x74, 0x0b, 0x38, |
|
| 56 |
+ 0x93, 0x7d, 0xac, 0xbc, 0x5e, 0x77, 0xf2, 0x64, 0x29, 0x10, 0xad, 0xe8, 0xa5, 0x47, |
|
| 57 |
+ 0x6c, 0xf1, 0x06, 0x03, 0xa0, 0xa4, 0xdb, 0xe5, 0x3b, 0x9a, 0x4e, 0x58, 0x15, 0x4d, |
|
| 58 |
+ 0xb5, 0xf8, 0xcf, 0x5e, 0xb6, 0xdf, 0x8d, 0x77, 0x44, 0x06, 0xf6, 0xc7, 0xd1, 0xd3, |
|
| 59 |
+ 0x92, 0xea, 0xf9, 0xd8, 0x23, 0x93, 0x86, 0xad, 0x1c, 0xd5, 0xb5, 0xf1, 0x01, 0x18, |
|
| 60 |
+ 0x47, 0xb8, 0x2c, 0x9b, 0x89, 0x8a, 0xf1, 0x82, 0x5e, 0xa7, 0xd2, 0x34, 0x0a, 0x1c, |
|
| 61 |
+ 0x8d, 0x54, 0x02, 0x2a, 0xa9, 0xd0, 0xde, 0xd4, 0x4c, 0xb2, 0xa5, 0x02, 0x03, 0x01, |
|
| 62 |
+ 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, |
|
| 63 |
+ 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, |
|
| 64 |
+ 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, |
|
| 65 |
+ 0x0e, 0x04, 0x16, 0x04, 0x14, 0xdc, 0x84, 0xb4, 0x8a, 0x5f, 0xd4, 0x80, 0xbf, 0x97, |
|
| 66 |
+ 0xcc, 0xc9, 0x23, 0x07, 0x62, 0x6a, 0x6b, 0xb7, 0x15, 0x03, 0x82, 0x30, 0x1f, 0x06, |
|
| 67 |
+ 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xfa, 0x0d, 0xd4, 0x11, |
|
| 68 |
+ 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, 0xdd, 0x63, 0x62, 0x07, |
|
| 69 |
+ 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, |
|
| 70 |
+ 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x06, 0x9e, 0x49, 0xa1, 0x04, 0xb4, 0xf8, |
|
| 71 |
+ 0xec, 0xc1, 0x51, 0xf6, 0xb9, 0xbe, 0xda, 0x45, 0x0c, 0x8a, 0x69, 0x81, 0x62, 0xdd, |
|
| 72 |
+ 0x7b, 0x1d, 0xf1, 0x5c, 0xf5, 0x0f, 0xec, 0x46, 0x63, 0xff, 0xa8, 0x75, 0xcd, 0x72, |
|
| 73 |
+ 0xb2, 0xa0, 0x0f, 0xbb, 0x94, 0x72, 0x1e, 0x46, 0x13, 0xe3, 0x5b, 0x01, 0xa5, 0xfc, |
|
| 74 |
+ 0x30, 0xb6, 0x73, 0x38, 0x84, 0xc6, 0x77, 0xa5, 0x9c, 0xd4, 0xa7, 0xff, 0xea, 0x0f, |
|
| 75 |
+ 0xf6, 0xe1, 0x1e, 0x61, 0x80, 0x7e, 0x28, 0x9a, 0x1b, 0x51, 0x9a, 0x3e, 0x0b, 0x31, |
|
| 76 |
+ 0x17, 0xfe, 0x62, 0xd5, 0xed, 0x5c, 0x75, 0x68, 0x24, 0x57, 0xf3, 0x56, 0x32, 0xe0, |
|
| 77 |
+ 0xc8, 0x3d, 0xcc, 0x66, 0xb7, 0xdd, 0x50, 0xce, 0x46, 0xcc, 0xda, 0x82, 0x3a, 0xa1, |
|
| 78 |
+ 0x29, 0xbb, 0x82, 0x24, 0xcc, 0x02, 0x00, 0xef, 0xc7, 0x83, 0xd6, 0x80, 0x23, 0x15, |
|
| 79 |
+ 0xf6, 0xb5, 0xff, 0x9e, 0xa1, 0x7d, 0x56, 0xaf, 0xb1, |
|
| 80 |
+ ], |
|
| 81 |
+ }, |
|
| 82 |
+ // CN=APN.3333AF100723AF0002AF000002. |
|
| 83 |
+ SigningIdentity {
|
|
| 84 |
+ p: [ |
|
| 85 |
+ 0xf1, 0xf9, 0x91, 0xce, 0x31, 0x05, 0xda, 0xb2, 0xf9, 0xa8, 0xc7, 0x34, 0xdd, 0x9b, |
|
| 86 |
+ 0x96, 0x83, 0x6b, 0xec, 0x95, 0xad, 0x1f, 0x2b, 0xb2, 0x60, 0x32, 0x7e, 0x75, 0x6c, |
|
| 87 |
+ 0x04, 0xa8, 0x5d, 0x70, 0xe0, 0x3d, 0x6b, 0x58, 0x4b, 0x1c, 0x52, 0x27, 0xe3, 0xa6, |
|
| 88 |
+ 0xe1, 0x72, 0x78, 0x7f, 0xc0, 0xd0, 0x92, 0xe1, 0x53, 0x64, 0x11, 0xc8, 0x67, 0x16, |
|
| 89 |
+ 0x39, 0xf8, 0xf4, 0x2a, 0x49, 0x99, 0x65, 0x41, |
|
| 90 |
+ ], |
|
| 91 |
+ q: [ |
|
| 92 |
+ 0xf8, 0xe3, 0x32, 0xc9, 0xd3, 0x3c, 0x0a, 0x02, 0xa5, 0xf4, 0x58, 0x3b, 0x25, 0x76, |
|
| 93 |
+ 0x3a, 0x8d, 0xc5, 0x65, 0xf7, 0x7b, 0x48, 0xbc, 0xa2, 0x4e, 0x7d, 0xf8, 0x90, 0x32, |
|
| 94 |
+ 0x70, 0x33, 0xb5, 0x8c, 0x7a, 0xa7, 0x59, 0x52, 0x63, 0x93, 0x9f, 0x2d, 0xb8, 0x79, |
|
| 95 |
+ 0x2b, 0x18, 0x1f, 0xea, 0xd9, 0xdd, 0x85, 0x8d, 0x4a, 0x2e, 0xd9, 0x22, 0xfc, 0x32, |
|
| 96 |
+ 0x7c, 0xd4, 0xf2, 0xdc, 0x18, 0x61, 0x0a, 0x4f, |
|
| 97 |
+ ], |
|
| 98 |
+ certificate: &[ |
|
| 99 |
+ 0x30, 0x82, 0x02, 0xc1, 0x30, 0x82, 0x02, 0x2a, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 100 |
+ 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x07, 0x23, 0xaf, 0x00, 0x02, 0xaf, 0x00, 0x00, 0x02, |
|
| 101 |
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 102 |
+ 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 103 |
+ 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 104 |
+ 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 105 |
+ 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 106 |
+ 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 107 |
+ 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 108 |
+ 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 109 |
+ 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 110 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 111 |
+ 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x30, 0x32, 0x33, 0x30, |
|
| 112 |
+ 0x30, 0x39, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x30, 0x37, 0x32, 0x32, 0x30, 0x32, 0x33, |
|
| 113 |
+ 0x30, 0x30, 0x39, 0x5a, 0x30, 0x64, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 114 |
+ 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 115 |
+ 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 116 |
+ 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 117 |
+ 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x27, 0x30, 0x25, 0x06, |
|
| 118 |
+ 0x03, 0x55, 0x04, 0x03, 0x13, 0x1e, 0x41, 0x50, 0x4e, 0x2e, 0x33, 0x33, 0x33, 0x33, |
|
| 119 |
+ 0x41, 0x46, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x41, 0x46, 0x30, 0x30, 0x30, 0x32, |
|
| 120 |
+ 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x32, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, |
|
| 121 |
+ 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, |
|
| 122 |
+ 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xeb, 0x40, 0x85, 0x8d, 0x8c, |
|
| 123 |
+ 0x6a, 0x57, 0xa7, 0x50, 0x1b, 0xdf, 0x52, 0xc9, 0x77, 0x16, 0xd3, 0xa3, 0x04, 0x18, |
|
| 124 |
+ 0x89, 0xcd, 0xe9, 0x4c, 0xb0, 0x8e, 0x60, 0x6b, 0xee, 0xeb, 0x0d, 0xb1, 0xc3, 0xaa, |
|
| 125 |
+ 0xa0, 0xef, 0x55, 0x5d, 0xbc, 0x8a, 0xac, 0xa0, 0x51, 0xf2, 0xea, 0x0a, 0x8b, 0x9a, |
|
| 126 |
+ 0xe2, 0xba, 0x20, 0xab, 0xbd, 0x44, 0xa1, 0x8b, 0xe5, 0x21, 0x23, 0x6f, 0xcc, 0x2f, |
|
| 127 |
+ 0xf6, 0x9a, 0x66, 0x91, 0x80, 0x29, 0x92, 0x5d, 0xb7, 0xe9, 0xc1, 0x01, 0xd2, 0x1e, |
|
| 128 |
+ 0x9c, 0x84, 0xff, 0x5a, 0x28, 0x09, 0xa8, 0x92, 0x77, 0xeb, 0x68, 0x3b, 0x2a, 0x00, |
|
| 129 |
+ 0x51, 0xb8, 0x95, 0x84, 0x28, 0xa8, 0x3d, 0x8c, 0xb0, 0x22, 0x8e, 0x85, 0x24, 0xe9, |
|
| 130 |
+ 0x85, 0x69, 0x18, 0x74, 0xd3, 0xa3, 0xed, 0x0f, 0x83, 0xbb, 0x24, 0x77, 0x19, 0x38, |
|
| 131 |
+ 0x6a, 0xcd, 0x07, 0xaf, 0xa7, 0xba, 0x66, 0x29, 0xeb, 0xc9, 0x0f, 0x02, 0x03, 0x01, |
|
| 132 |
+ 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, |
|
| 133 |
+ 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, |
|
| 134 |
+ 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, |
|
| 135 |
+ 0x0e, 0x04, 0x16, 0x04, 0x14, 0xdc, 0x01, 0x3d, 0xa8, 0xf5, 0x66, 0xa5, 0x1f, 0x5c, |
|
| 136 |
+ 0x4d, 0x30, 0xca, 0x6b, 0x85, 0x8f, 0x1b, 0xc9, 0x43, 0xff, 0x62, 0x30, 0x1f, 0x06, |
|
| 137 |
+ 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xfa, 0x0d, 0xd4, 0x11, |
|
| 138 |
+ 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, 0xdd, 0x63, 0x62, 0x07, |
|
| 139 |
+ 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, |
|
| 140 |
+ 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x3e, 0x6a, 0xf1, 0x25, 0xe6, 0x52, 0x9b, |
|
| 141 |
+ 0x8f, 0x62, 0x06, 0x24, 0x0b, 0x40, 0xab, 0x42, 0x79, 0x28, 0xa3, 0xf6, 0x4e, 0xb0, |
|
| 142 |
+ 0x50, 0xf4, 0xc4, 0xd3, 0x36, 0x07, 0x09, 0x7a, 0x68, 0x63, 0x49, 0x65, 0x89, 0x33, |
|
| 143 |
+ 0x6b, 0x6f, 0xbf, 0x8c, 0xd9, 0x65, 0xb7, 0x27, 0x66, 0x5a, 0xc4, 0xff, 0x90, 0x73, |
|
| 144 |
+ 0xa7, 0x64, 0xfc, 0x0a, 0x55, 0xc0, 0x11, 0xc3, 0xd6, 0xcb, 0x1b, 0x87, 0x0c, 0xc4, |
|
| 145 |
+ 0x93, 0xbd, 0x7a, 0x4e, 0x19, 0x2b, 0x65, 0x3d, 0xdd, 0xa8, 0x1c, 0xcb, 0x9d, 0x22, |
|
| 146 |
+ 0x46, 0x6a, 0x3d, 0x6d, 0x55, 0x35, 0x4d, 0x02, 0xa4, 0x47, 0xff, 0xb4, 0x9f, 0x8a, |
|
| 147 |
+ 0x9a, 0xc3, 0x1a, 0xec, 0x64, 0x25, 0x95, 0xd4, 0x12, 0x8d, 0x11, 0xee, 0x86, 0x98, |
|
| 148 |
+ 0xae, 0x47, 0xe6, 0x5a, 0x50, 0xa5, 0x02, 0x87, 0xc4, 0x2e, 0x13, 0xbe, 0xe0, 0x66, |
|
| 149 |
+ 0x79, 0xce, 0xa5, 0xcb, 0xe1, 0x9e, 0x18, 0xa2, 0x6e, |
|
| 150 |
+ ], |
|
| 151 |
+ }, |
|
| 152 |
+ // CN=APN.3333AF100723AF0002AF000003. |
|
| 153 |
+ SigningIdentity {
|
|
| 154 |
+ p: [ |
|
| 155 |
+ 0xd4, 0x97, 0xbb, 0x5c, 0xe1, 0x2f, 0x1b, 0x16, 0x41, 0x57, 0x1f, 0x40, 0xc8, 0x25, |
|
| 156 |
+ 0xe1, 0xfc, 0xac, 0x03, 0xc4, 0x44, 0x54, 0x16, 0xdc, 0xde, 0x25, 0x2f, 0xa3, 0x12, |
|
| 157 |
+ 0xb3, 0xda, 0x0b, 0x57, 0x5a, 0xbd, 0x61, 0xfd, 0xab, 0x7f, 0x6a, 0x6c, 0xc9, 0xfe, |
|
| 158 |
+ 0xb4, 0x6e, 0x3d, 0x7d, 0x1c, 0xb8, 0x47, 0x85, 0x5e, 0xb3, 0x9c, 0x0d, 0x72, 0x68, |
|
| 159 |
+ 0x62, 0x2c, 0x3d, 0xa5, 0x71, 0x04, 0x48, 0xf3, |
|
| 160 |
+ ], |
|
| 161 |
+ q: [ |
|
| 162 |
+ 0xec, 0x84, 0x59, 0x48, 0xec, 0xec, 0x30, 0x93, 0x6e, 0x7a, 0x18, 0xee, 0xf2, 0x9f, |
|
| 163 |
+ 0xe9, 0x49, 0x6c, 0x08, 0x53, 0x50, 0x6b, 0x5d, 0xa8, 0x4b, 0x7c, 0x03, 0x1a, 0xce, |
|
| 164 |
+ 0xd8, 0x09, 0x0b, 0xaf, 0xf7, 0xa1, 0x3e, 0x4f, 0xd4, 0x74, 0xd6, 0xbc, 0xd2, 0xeb, |
|
| 165 |
+ 0x88, 0x72, 0x00, 0xf9, 0x23, 0x04, 0xaf, 0xf0, 0x4a, 0x97, 0x40, 0xe7, 0x4a, 0x76, |
|
| 166 |
+ 0xb4, 0xc7, 0xe1, 0x21, 0x1f, 0x45, 0x81, 0x27, |
|
| 167 |
+ ], |
|
| 168 |
+ certificate: &[ |
|
| 169 |
+ 0x30, 0x82, 0x02, 0xc1, 0x30, 0x82, 0x02, 0x2a, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 170 |
+ 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x07, 0x23, 0xaf, 0x00, 0x02, 0xaf, 0x00, 0x00, 0x03, |
|
| 171 |
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 172 |
+ 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 173 |
+ 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 174 |
+ 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 175 |
+ 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 176 |
+ 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 177 |
+ 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 178 |
+ 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 179 |
+ 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 180 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 181 |
+ 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x30, 0x32, 0x33, 0x30, |
|
| 182 |
+ 0x30, 0x39, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x30, 0x37, 0x32, 0x32, 0x30, 0x32, 0x33, |
|
| 183 |
+ 0x30, 0x30, 0x39, 0x5a, 0x30, 0x64, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 184 |
+ 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 185 |
+ 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 186 |
+ 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 187 |
+ 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x27, 0x30, 0x25, 0x06, |
|
| 188 |
+ 0x03, 0x55, 0x04, 0x03, 0x13, 0x1e, 0x41, 0x50, 0x4e, 0x2e, 0x33, 0x33, 0x33, 0x33, |
|
| 189 |
+ 0x41, 0x46, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x41, 0x46, 0x30, 0x30, 0x30, 0x32, |
|
| 190 |
+ 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x33, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, |
|
| 191 |
+ 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, |
|
| 192 |
+ 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xc4, 0x69, 0xc9, 0x1b, 0x8b, |
|
| 193 |
+ 0x0b, 0x8a, 0x9c, 0x6c, 0x97, 0xf9, 0x2e, 0xfb, 0x4c, 0x65, 0x75, 0xc9, 0x48, 0x37, |
|
| 194 |
+ 0xc2, 0xc8, 0x61, 0x0f, 0x58, 0x2b, 0xfd, 0xcf, 0x36, 0x9e, 0x41, 0x42, 0x52, 0x8c, |
|
| 195 |
+ 0x6b, 0x04, 0x57, 0x1f, 0x44, 0x70, 0xad, 0x05, 0x2f, 0x4c, 0xa9, 0xdc, 0xbd, 0x34, |
|
| 196 |
+ 0x10, 0x83, 0x5d, 0x58, 0xb1, 0x47, 0x41, 0x5d, 0x41, 0xe7, 0x74, 0xc2, 0x1f, 0x66, |
|
| 197 |
+ 0xc3, 0x1d, 0x6c, 0xda, 0x27, 0x6d, 0x14, 0x10, 0x04, 0x4c, 0xd4, 0x7d, 0xb6, 0xeb, |
|
| 198 |
+ 0xe5, 0xd4, 0xf7, 0xed, 0x00, 0x88, 0xa6, 0x2a, 0xd4, 0x18, 0x0e, 0x9d, 0xfd, 0xc9, |
|
| 199 |
+ 0xd0, 0x19, 0x2c, 0x85, 0xcf, 0x9f, 0x58, 0x26, 0x53, 0x66, 0xdd, 0x9a, 0x0c, 0xbf, |
|
| 200 |
+ 0x16, 0xc1, 0x75, 0x91, 0x77, 0xd9, 0x4d, 0x79, 0x7e, 0x11, 0xfb, 0x18, 0x50, 0xb8, |
|
| 201 |
+ 0x01, 0xef, 0x0c, 0xcc, 0xa4, 0xb7, 0x77, 0x76, 0xe8, 0x90, 0x05, 0x02, 0x03, 0x01, |
|
| 202 |
+ 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, |
|
| 203 |
+ 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, |
|
| 204 |
+ 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, |
|
| 205 |
+ 0x0e, 0x04, 0x16, 0x04, 0x14, 0x1e, 0x54, 0x96, 0x7a, 0x7f, 0xb8, 0xa6, 0x0e, 0xe9, |
|
| 206 |
+ 0xb3, 0x7a, 0x5e, 0x1d, 0xc9, 0xdd, 0xc0, 0x4e, 0x00, 0xef, 0x2b, 0x30, 0x1f, 0x06, |
|
| 207 |
+ 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xfa, 0x0d, 0xd4, 0x11, |
|
| 208 |
+ 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, 0xdd, 0x63, 0x62, 0x07, |
|
| 209 |
+ 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, |
|
| 210 |
+ 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x81, 0x6f, 0x3d, 0xf1, 0x1e, 0x87, 0x0a, |
|
| 211 |
+ 0xc2, 0x40, 0x30, 0x61, 0xfd, 0xb8, 0x83, 0xec, 0xe4, 0x97, 0x3f, 0xdc, 0xb5, 0xf3, |
|
| 212 |
+ 0x31, 0x49, 0xd7, 0xed, 0x2c, 0x2e, 0xbd, 0x0b, 0x32, 0xe7, 0x67, 0x88, 0xa0, 0x82, |
|
| 213 |
+ 0x4f, 0x7c, 0x52, 0x6b, 0x29, 0x3b, 0x2d, 0x2a, 0xb2, 0xa8, 0x7f, 0x89, 0xde, 0x66, |
|
| 214 |
+ 0x4b, 0x12, 0xa5, 0xf4, 0x95, 0xe5, 0xac, 0xc5, 0xd3, 0x13, 0xa9, 0xc3, 0x60, 0x64, |
|
| 215 |
+ 0xd5, 0x07, 0xb2, 0x20, 0xec, 0xe5, 0x89, 0x66, 0x58, 0xe2, 0x2c, 0x9d, 0x5e, 0xf7, |
|
| 216 |
+ 0x5d, 0x58, 0xe6, 0x93, 0x52, 0x1f, 0x15, 0xeb, 0x22, 0x1c, 0x1c, 0x8d, 0x7f, 0xdb, |
|
| 217 |
+ 0x7e, 0x07, 0xdb, 0xfa, 0x9a, 0x7c, 0x71, 0xeb, 0xfc, 0xf1, 0xce, 0xc4, 0x49, 0x3c, |
|
| 218 |
+ 0x3d, 0xcc, 0x88, 0x9b, 0x33, 0x82, 0xa4, 0xd4, 0xfd, 0xda, 0xfb, 0x77, 0x99, 0x25, |
|
| 219 |
+ 0x51, 0x74, 0x2c, 0x84, 0xe2, 0x29, 0x13, 0x56, 0xa5, |
|
| 220 |
+ ], |
|
| 221 |
+ }, |
|
| 222 |
+ // CN=APN.3333AF100723AF0002AF000004. |
|
| 223 |
+ SigningIdentity {
|
|
| 224 |
+ p: [ |
|
| 225 |
+ 0xc2, 0x26, 0x96, 0x17, 0xeb, 0xfe, 0x4a, 0x65, 0x71, 0x0d, 0x74, 0xbc, 0x88, 0x03, |
|
| 226 |
+ 0x53, 0xa5, 0x66, 0x2c, 0x48, 0x4e, 0x48, 0x36, 0x85, 0xec, 0xf1, 0x19, 0x77, 0x4c, |
|
| 227 |
+ 0xa9, 0x0d, 0xf7, 0x53, 0x11, 0xb3, 0x6a, 0x45, 0xeb, 0x41, 0xa2, 0x16, 0xa2, 0x16, |
|
| 228 |
+ 0x59, 0x11, 0x60, 0x07, 0x77, 0x3d, 0x4d, 0xdf, 0x43, 0xbf, 0xf7, 0x0c, 0x00, 0x61, |
|
| 229 |
+ 0xf6, 0xfc, 0x46, 0xa6, 0x17, 0x2f, 0x8f, 0x95, |
|
| 230 |
+ ], |
|
| 231 |
+ q: [ |
|
| 232 |
+ 0xd3, 0xaa, 0x51, 0xde, 0xa9, 0x31, 0x18, 0xee, 0x0f, 0xef, 0x37, 0x91, 0xcf, 0x09, |
|
| 233 |
+ 0x1b, 0x73, 0x89, 0x2f, 0x18, 0xe4, 0x1f, 0xd0, 0xc8, 0xce, 0xaf, 0x6c, 0x02, 0x96, |
|
| 234 |
+ 0xa8, 0xc8, 0x15, 0xa5, 0x2c, 0x5e, 0x0d, 0x54, 0x88, 0x5b, 0x70, 0x8a, 0x16, 0x23, |
|
| 235 |
+ 0x93, 0xb7, 0x37, 0x91, 0xd8, 0x27, 0x77, 0x61, 0xb5, 0x99, 0x84, 0xa0, 0xa5, 0xf8, |
|
| 236 |
+ 0xdc, 0xf5, 0x38, 0x11, 0xee, 0x39, 0x2a, 0x03, |
|
| 237 |
+ ], |
|
| 238 |
+ certificate: &[ |
|
| 239 |
+ 0x30, 0x82, 0x02, 0xc1, 0x30, 0x82, 0x02, 0x2a, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 240 |
+ 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x07, 0x23, 0xaf, 0x00, 0x02, 0xaf, 0x00, 0x00, 0x04, |
|
| 241 |
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 242 |
+ 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 243 |
+ 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 244 |
+ 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 245 |
+ 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 246 |
+ 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 247 |
+ 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 248 |
+ 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 249 |
+ 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 250 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 251 |
+ 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x30, 0x32, 0x33, 0x30, |
|
| 252 |
+ 0x30, 0x39, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x30, 0x37, 0x32, 0x32, 0x30, 0x32, 0x33, |
|
| 253 |
+ 0x30, 0x30, 0x39, 0x5a, 0x30, 0x64, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 254 |
+ 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 255 |
+ 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 256 |
+ 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 257 |
+ 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x27, 0x30, 0x25, 0x06, |
|
| 258 |
+ 0x03, 0x55, 0x04, 0x03, 0x13, 0x1e, 0x41, 0x50, 0x4e, 0x2e, 0x33, 0x33, 0x33, 0x33, |
|
| 259 |
+ 0x41, 0x46, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x41, 0x46, 0x30, 0x30, 0x30, 0x32, |
|
| 260 |
+ 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, |
|
| 261 |
+ 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, |
|
| 262 |
+ 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xa0, 0x86, 0xf9, 0x6c, 0x76, |
|
| 263 |
+ 0xa9, 0xbd, 0xf9, 0xcf, 0x00, 0x49, 0x01, 0x0d, 0x9e, 0xa0, 0xc8, 0x0d, 0xf1, 0x25, |
|
| 264 |
+ 0xcf, 0x86, 0xd1, 0x8c, 0x00, 0xc2, 0x7c, 0x4b, 0x5e, 0x41, 0xe7, 0x8e, 0x6c, 0x83, |
|
| 265 |
+ 0x7b, 0x8f, 0xd9, 0x24, 0x8b, 0xc3, 0xa5, 0x22, 0x7e, 0x3e, 0x76, 0xf2, 0xdc, 0xa5, |
|
| 266 |
+ 0xae, 0xe2, 0x45, 0xe6, 0x03, 0xda, 0x04, 0x9c, 0x6c, 0x65, 0xdb, 0x7d, 0xe5, 0xac, |
|
| 267 |
+ 0x5c, 0x57, 0x2b, 0x5c, 0x27, 0x07, 0xe1, 0x24, 0x70, 0xbb, 0xc4, 0xb7, 0x9b, 0xc0, |
|
| 268 |
+ 0x97, 0x1e, 0x2e, 0x46, 0xa9, 0x9f, 0x08, 0xb2, 0x2a, 0x44, 0x7c, 0x47, 0xd3, 0x78, |
|
| 269 |
+ 0xe3, 0x05, 0x99, 0x7a, 0x4b, 0x5e, 0x68, 0x4c, 0x7c, 0x1e, 0x02, 0xa2, 0x68, 0x43, |
|
| 270 |
+ 0x2f, 0x58, 0xcb, 0xb0, 0x23, 0x7b, 0x0a, 0xb2, 0x1c, 0x7e, 0x20, 0xbf, 0x25, 0xa4, |
|
| 271 |
+ 0x76, 0xd2, 0xdf, 0xd4, 0x3f, 0x95, 0xb8, 0x91, 0x4a, 0x20, 0xbf, 0x02, 0x03, 0x01, |
|
| 272 |
+ 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, |
|
| 273 |
+ 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, |
|
| 274 |
+ 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, |
|
| 275 |
+ 0x0e, 0x04, 0x16, 0x04, 0x14, 0x95, 0xbf, 0xb9, 0x87, 0xa4, 0x8e, 0xc8, 0xd2, 0x13, |
|
| 276 |
+ 0x09, 0x71, 0x5d, 0xf8, 0xdb, 0x0b, 0x4e, 0xfe, 0x98, 0xca, 0xb0, 0x30, 0x1f, 0x06, |
|
| 277 |
+ 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xfa, 0x0d, 0xd4, 0x11, |
|
| 278 |
+ 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, 0xdd, 0x63, 0x62, 0x07, |
|
| 279 |
+ 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, |
|
| 280 |
+ 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x02, 0x2d, 0xe8, 0x2b, 0xf2, 0xcb, 0xce, |
|
| 281 |
+ 0x1c, 0x6f, 0x04, 0x83, 0x74, 0x76, 0xb3, 0xb0, 0x48, 0x0b, 0x1b, 0xda, 0x07, 0xa8, |
|
| 282 |
+ 0x1c, 0x8c, 0x0f, 0xa6, 0x40, 0x56, 0x98, 0x4d, 0x4c, 0xd5, 0xfb, 0x02, 0x9c, 0xe0, |
|
| 283 |
+ 0xd2, 0xf6, 0x59, 0xc4, 0x88, 0x42, 0x84, 0x3d, 0xb8, 0xca, 0x5b, 0xd0, 0x10, 0xaf, |
|
| 284 |
+ 0x93, 0x4b, 0x92, 0xbc, 0xcc, 0xf0, 0xad, 0x56, 0xcb, 0x9b, 0x62, 0xbc, 0x59, 0xe3, |
|
| 285 |
+ 0xe4, 0x18, 0x51, 0x14, 0xb0, 0x7d, 0x8a, 0xfa, 0xf3, 0x61, 0x84, 0x0b, 0x4f, 0xd1, |
|
| 286 |
+ 0x5d, 0xaf, 0xa2, 0x5b, 0xe3, 0xed, 0x89, 0x18, 0x22, 0xb0, 0xa3, 0x30, 0xbd, 0xa3, |
|
| 287 |
+ 0x0e, 0xb3, 0x86, 0xaa, 0x6f, 0xe6, 0x9b, 0x18, 0x5c, 0x94, 0x65, 0x1f, 0xa9, 0xa5, |
|
| 288 |
+ 0x10, 0xd4, 0x09, 0xf7, 0x43, 0x7f, 0x74, 0xa8, 0x4b, 0x65, 0x43, 0xbe, 0xbf, 0x9a, |
|
| 289 |
+ 0xa3, 0xe3, 0x84, 0xd9, 0xce, 0x3f, 0xcc, 0xc0, 0xa1, |
|
| 290 |
+ ], |
|
| 291 |
+ }, |
|
| 292 |
+ // CN=APN.3333AF100723AF0002AF000005. |
|
| 293 |
+ SigningIdentity {
|
|
| 294 |
+ p: [ |
|
| 295 |
+ 0xd0, 0xf3, 0xc5, 0xf4, 0xf0, 0x9c, 0xb9, 0xc7, 0xea, 0x8c, 0x04, 0xe9, 0xcc, 0xb4, |
|
| 296 |
+ 0xa3, 0x0b, 0xa9, 0x0f, 0x36, 0x4c, 0x6d, 0x3b, 0xa8, 0x3d, 0x01, 0x71, 0xd7, 0x1f, |
|
| 297 |
+ 0x48, 0x7e, 0x66, 0xac, 0x26, 0x93, 0xc7, 0xde, 0xe3, 0x23, 0xee, 0x1a, 0x21, 0x72, |
|
| 298 |
+ 0x25, 0xad, 0x95, 0xc5, 0x46, 0xd5, 0x59, 0x44, 0xc3, 0xa2, 0x04, 0x85, 0x3e, 0x42, |
|
| 299 |
+ 0x9c, 0x47, 0x1d, 0x2a, 0x0c, 0x07, 0xcf, 0x3f, |
|
| 300 |
+ ], |
|
| 301 |
+ q: [ |
|
| 302 |
+ 0xef, 0xe4, 0x46, 0x27, 0xfe, 0xe6, 0xba, 0xa6, 0x8f, 0x90, 0x22, 0xc8, 0xc6, 0xf9, |
|
| 303 |
+ 0xad, 0x67, 0xd2, 0xb0, 0x0f, 0xd0, 0x78, 0x08, 0x0e, 0xeb, 0xcd, 0xd7, 0xa9, 0x22, |
|
| 304 |
+ 0xba, 0x3a, 0x57, 0x10, 0x31, 0xe1, 0x07, 0xf3, 0x23, 0x57, 0xe1, 0x3c, 0x34, 0x6f, |
|
| 305 |
+ 0xa1, 0x93, 0xf9, 0xe9, 0xf4, 0xd7, 0xc7, 0x32, 0xfe, 0x22, 0xd7, 0xd3, 0x3d, 0xa7, |
|
| 306 |
+ 0x62, 0x77, 0x15, 0x33, 0x24, 0x5d, 0xba, 0xb7, |
|
| 307 |
+ ], |
|
| 308 |
+ certificate: &[ |
|
| 309 |
+ 0x30, 0x82, 0x02, 0xc1, 0x30, 0x82, 0x02, 0x2a, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 310 |
+ 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x07, 0x23, 0xaf, 0x00, 0x02, 0xaf, 0x00, 0x00, 0x05, |
|
| 311 |
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 312 |
+ 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 313 |
+ 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 314 |
+ 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 315 |
+ 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 316 |
+ 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 317 |
+ 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 318 |
+ 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 319 |
+ 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 320 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 321 |
+ 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x30, 0x32, 0x33, 0x30, |
|
| 322 |
+ 0x31, 0x30, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x30, 0x37, 0x32, 0x32, 0x30, 0x32, 0x33, |
|
| 323 |
+ 0x30, 0x31, 0x30, 0x5a, 0x30, 0x64, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 324 |
+ 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 325 |
+ 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 326 |
+ 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 327 |
+ 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x27, 0x30, 0x25, 0x06, |
|
| 328 |
+ 0x03, 0x55, 0x04, 0x03, 0x13, 0x1e, 0x41, 0x50, 0x4e, 0x2e, 0x33, 0x33, 0x33, 0x33, |
|
| 329 |
+ 0x41, 0x46, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x41, 0x46, 0x30, 0x30, 0x30, 0x32, |
|
| 330 |
+ 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, |
|
| 331 |
+ 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, |
|
| 332 |
+ 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xc3, 0xcd, 0xe8, 0x2f, 0x48, |
|
| 333 |
+ 0x1a, 0xf0, 0xe8, 0x8e, 0x92, 0x66, 0xc2, 0x41, 0x47, 0x6a, 0x69, 0x52, 0x97, 0xee, |
|
| 334 |
+ 0xa7, 0x5e, 0xcb, 0x91, 0xf2, 0xfa, 0x6b, 0x5d, 0xc6, 0xf2, 0x50, 0xee, 0xa1, 0x9e, |
|
| 335 |
+ 0x53, 0xf3, 0x89, 0x49, 0xc4, 0xa0, 0xbd, 0x17, 0x97, 0x8c, 0x1b, 0xf6, 0x71, 0x1e, |
|
| 336 |
+ 0xb0, 0x8c, 0x6f, 0x35, 0x49, 0x86, 0xb7, 0xd6, 0xc0, 0x45, 0x95, 0x48, 0xc5, 0x98, |
|
| 337 |
+ 0xc1, 0x82, 0x23, 0x7d, 0xdb, 0x01, 0xe1, 0x32, 0x82, 0x27, 0x5d, 0x30, 0xe9, 0xfc, |
|
| 338 |
+ 0xea, 0xfc, 0xa1, 0x4b, 0x03, 0x93, 0xd5, 0x43, 0x64, 0xd2, 0xcc, 0x6b, 0xdc, 0x8e, |
|
| 339 |
+ 0xea, 0xb9, 0x58, 0xb3, 0x94, 0xfd, 0x04, 0xa7, 0x4c, 0xee, 0x78, 0xc5, 0xa1, 0xf7, |
|
| 340 |
+ 0x3a, 0x2e, 0xf4, 0x65, 0x32, 0x9e, 0x9e, 0x40, 0x22, 0xf0, 0x4c, 0x3a, 0xba, 0x14, |
|
| 341 |
+ 0xc5, 0xb9, 0x86, 0x61, 0xd5, 0x52, 0x54, 0x6c, 0x0b, 0xec, 0x09, 0x02, 0x03, 0x01, |
|
| 342 |
+ 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, |
|
| 343 |
+ 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, |
|
| 344 |
+ 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, |
|
| 345 |
+ 0x0e, 0x04, 0x16, 0x04, 0x14, 0x64, 0x3d, 0x96, 0xa3, 0xe7, 0x68, 0x79, 0x3f, 0x31, |
|
| 346 |
+ 0xe7, 0xce, 0xf2, 0x57, 0xe4, 0x93, 0x31, 0x20, 0x4c, 0x79, 0x87, 0x30, 0x1f, 0x06, |
|
| 347 |
+ 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xfa, 0x0d, 0xd4, 0x11, |
|
| 348 |
+ 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, 0xdd, 0x63, 0x62, 0x07, |
|
| 349 |
+ 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, |
|
| 350 |
+ 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x5d, 0xd9, 0x64, 0x0c, 0x15, 0xd3, 0x19, |
|
| 351 |
+ 0x06, 0x49, 0xce, 0x79, 0xc0, 0xbf, 0xc5, 0xf1, 0x50, 0x87, 0xd6, 0x7d, 0x6c, 0xb9, |
|
| 352 |
+ 0x6e, 0xf7, 0xed, 0xa3, 0x3f, 0xfa, 0xdb, 0x55, 0x38, 0x98, 0x51, 0x74, 0xbc, 0xa1, |
|
| 353 |
+ 0xf6, 0xa3, 0xcf, 0x89, 0x6e, 0x47, 0x26, 0xe2, 0xaf, 0x32, 0x2c, 0xef, 0x1e, 0xbc, |
|
| 354 |
+ 0x00, 0xa1, 0x2b, 0x2a, 0xf6, 0xd6, 0xcc, 0x63, 0x81, 0x17, 0x7f, 0xb7, 0xd5, 0x4c, |
|
| 355 |
+ 0x4a, 0xca, 0x85, 0x9e, 0xf0, 0x7c, 0xb4, 0x20, 0x25, 0x97, 0x5f, 0x01, 0xc0, 0xca, |
|
| 356 |
+ 0xd6, 0xbd, 0x4a, 0x71, 0x54, 0xab, 0xca, 0x2d, 0x80, 0x31, 0xcb, 0x8c, 0xdb, 0xe2, |
|
| 357 |
+ 0xca, 0xcf, 0x52, 0xa6, 0x92, 0x0f, 0xbe, 0xd0, 0x9e, 0x31, 0x74, 0x01, 0xbb, 0x77, |
|
| 358 |
+ 0xec, 0x0a, 0xed, 0xe3, 0xf4, 0xd4, 0x3c, 0x4c, 0x8b, 0x33, 0x1d, 0x1e, 0x05, 0xb0, |
|
| 359 |
+ 0x51, 0xd6, 0x48, 0x11, 0xa2, 0x98, 0x37, 0x10, 0x28, |
|
| 360 |
+ ], |
|
| 361 |
+ }, |
|
| 362 |
+ // CN=APN.3333AF100723AF0002AF000006. |
|
| 363 |
+ SigningIdentity {
|
|
| 364 |
+ p: [ |
|
| 365 |
+ 0xcb, 0xf5, 0x15, 0x23, 0xb0, 0xb3, 0x96, 0x21, 0x3f, 0x2c, 0x78, 0x49, 0xea, 0xef, |
|
| 366 |
+ 0x25, 0x8f, 0x9d, 0x28, 0xbf, 0x88, 0x70, 0x04, 0xd9, 0x59, 0x81, 0x06, 0x0b, 0x8b, |
|
| 367 |
+ 0x45, 0xe2, 0x53, 0x92, 0xe5, 0xaf, 0xb1, 0xcc, 0xfb, 0x54, 0x7f, 0xb2, 0x7f, 0x41, |
|
| 368 |
+ 0x5c, 0x0e, 0x4d, 0x32, 0x81, 0x64, 0x8b, 0x1e, 0xec, 0x4b, 0xf3, 0xae, 0x63, 0x64, |
|
| 369 |
+ 0xdd, 0x35, 0xc7, 0x29, 0xf1, 0xe0, 0x8f, 0x79, |
|
| 370 |
+ ], |
|
| 371 |
+ q: [ |
|
| 372 |
+ 0xcc, 0x9e, 0xea, 0x57, 0x51, 0xd5, 0xb5, 0x44, 0x15, 0x84, 0x87, 0x5d, 0x82, 0x4d, |
|
| 373 |
+ 0xee, 0xf4, 0x01, 0x3c, 0x76, 0xfb, 0xef, 0xdd, 0xb2, 0xf6, 0xe8, 0xa2, 0x79, 0xc4, |
|
| 374 |
+ 0xf7, 0xd2, 0x1e, 0x3b, 0x50, 0x59, 0x5e, 0x52, 0xfa, 0xc6, 0x0d, 0x4a, 0x7d, 0x53, |
|
| 375 |
+ 0x73, 0x8a, 0xe0, 0xa9, 0x11, 0xbe, 0x1f, 0x22, 0x1d, 0xdf, 0xb1, 0x77, 0x19, 0xa3, |
|
| 376 |
+ 0xad, 0x4e, 0x6f, 0xd8, 0x1c, 0x99, 0x9c, 0x67, |
|
| 377 |
+ ], |
|
| 378 |
+ certificate: &[ |
|
| 379 |
+ 0x30, 0x82, 0x02, 0xc1, 0x30, 0x82, 0x02, 0x2a, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 380 |
+ 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x07, 0x23, 0xaf, 0x00, 0x02, 0xaf, 0x00, 0x00, 0x06, |
|
| 381 |
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 382 |
+ 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 383 |
+ 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 384 |
+ 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 385 |
+ 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 386 |
+ 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 387 |
+ 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 388 |
+ 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 389 |
+ 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 390 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 391 |
+ 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x30, 0x32, 0x33, 0x30, |
|
| 392 |
+ 0x31, 0x30, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x30, 0x37, 0x32, 0x32, 0x30, 0x32, 0x33, |
|
| 393 |
+ 0x30, 0x31, 0x30, 0x5a, 0x30, 0x64, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 394 |
+ 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 395 |
+ 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 396 |
+ 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 397 |
+ 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x27, 0x30, 0x25, 0x06, |
|
| 398 |
+ 0x03, 0x55, 0x04, 0x03, 0x13, 0x1e, 0x41, 0x50, 0x4e, 0x2e, 0x33, 0x33, 0x33, 0x33, |
|
| 399 |
+ 0x41, 0x46, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x41, 0x46, 0x30, 0x30, 0x30, 0x32, |
|
| 400 |
+ 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x36, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, |
|
| 401 |
+ 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, |
|
| 402 |
+ 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xa3, 0x05, 0xe8, 0xcf, 0x13, |
|
| 403 |
+ 0xa5, 0xc8, 0x23, 0xc2, 0xea, 0x38, 0xa2, 0x2c, 0x4a, 0xeb, 0xd7, 0x85, 0x9b, 0xf4, |
|
| 404 |
+ 0xe5, 0x75, 0xaf, 0xb9, 0xbf, 0xf9, 0x9b, 0xd3, 0x66, 0x8e, 0x6f, 0xe5, 0x3f, 0x31, |
|
| 405 |
+ 0xc4, 0x8e, 0xc2, 0xce, 0xd7, 0x51, 0xd5, 0x8c, 0x06, 0x34, 0x54, 0xc9, 0x7b, 0xb6, |
|
| 406 |
+ 0x72, 0xd8, 0xbf, 0x23, 0x65, 0x24, 0xd0, 0xda, 0xd3, 0x00, 0xfc, 0x24, 0xd3, 0x01, |
|
| 407 |
+ 0x16, 0x0e, 0xe0, 0x3f, 0xe8, 0xf6, 0x5e, 0xd8, 0xdf, 0x75, 0xcf, 0x45, 0xaf, 0xb9, |
|
| 408 |
+ 0xa8, 0xef, 0xf8, 0x3e, 0xf0, 0x54, 0x0e, 0x40, 0xbe, 0x4c, 0x5c, 0x45, 0x30, 0x9f, |
|
| 409 |
+ 0x84, 0xb6, 0x0a, 0xbc, 0xd5, 0xe7, 0x37, 0x09, 0xec, 0x53, 0xaf, 0x1e, 0x23, 0x80, |
|
| 410 |
+ 0x9b, 0x33, 0xdc, 0x8d, 0xb8, 0xbe, 0xc1, 0x7c, 0x11, 0x8a, 0x4c, 0xb2, 0x75, 0x07, |
|
| 411 |
+ 0x6a, 0x64, 0xfe, 0x54, 0x13, 0x55, 0x44, 0x24, 0x18, 0x75, 0xaf, 0x02, 0x03, 0x01, |
|
| 412 |
+ 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, |
|
| 413 |
+ 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, |
|
| 414 |
+ 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, |
|
| 415 |
+ 0x0e, 0x04, 0x16, 0x04, 0x14, 0x78, 0xd4, 0x6a, 0x70, 0xea, 0x7d, 0xad, 0x81, 0xa3, |
|
| 416 |
+ 0x53, 0xe2, 0x72, 0xdb, 0xe8, 0x94, 0x1c, 0xe9, 0x6f, 0x47, 0x8b, 0x30, 0x1f, 0x06, |
|
| 417 |
+ 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xfa, 0x0d, 0xd4, 0x11, |
|
| 418 |
+ 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, 0xdd, 0x63, 0x62, 0x07, |
|
| 419 |
+ 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, |
|
| 420 |
+ 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x6e, 0x68, 0x5c, 0x97, 0x95, 0x14, 0xe2, |
|
| 421 |
+ 0xcb, 0x54, 0x95, 0xdf, 0xbf, 0x85, 0x28, 0xea, 0x22, 0x80, 0xad, 0xd8, 0xfe, 0x21, |
|
| 422 |
+ 0xfe, 0x0c, 0xba, 0x27, 0x9d, 0x7a, 0x91, 0x6f, 0xe9, 0xa3, 0x25, 0x6c, 0xad, 0x4d, |
|
| 423 |
+ 0xf7, 0x86, 0xc8, 0x2b, 0x7d, 0x60, 0x86, 0x9d, 0x53, 0x3e, 0x73, 0xbd, 0x72, 0x5d, |
|
| 424 |
+ 0x1f, 0x37, 0x6f, 0x8a, 0xfe, 0xe2, 0x9d, 0x24, 0x26, 0x79, 0xe6, 0x43, 0x22, 0xae, |
|
| 425 |
+ 0xfb, 0x94, 0x23, 0xa1, 0xd5, 0x22, 0x4d, 0x9c, 0x54, 0x38, 0x2a, 0x21, 0x02, 0x0d, |
|
| 426 |
+ 0x45, 0xdb, 0x2c, 0x2a, 0x75, 0xe3, 0xbd, 0x81, 0xb6, 0x2a, 0x52, 0xa0, 0x1d, 0x80, |
|
| 427 |
+ 0xef, 0x7a, 0xd4, 0x71, 0xfb, 0x9f, 0xb0, 0x62, 0x4a, 0x65, 0x0e, 0xfb, 0xf1, 0x50, |
|
| 428 |
+ 0x2c, 0xdd, 0x7c, 0x76, 0xfd, 0x07, 0x9f, 0x2e, 0x4e, 0xf9, 0xb3, 0x7f, 0xe4, 0xad, |
|
| 429 |
+ 0x74, 0xb8, 0x3b, 0xc9, 0xfb, 0xc4, 0x7f, 0xff, 0x1e, |
|
| 430 |
+ ], |
|
| 431 |
+ }, |
|
| 432 |
+ // CN=APN.3333AF100723AF0002AF000007. |
|
| 433 |
+ SigningIdentity {
|
|
| 434 |
+ p: [ |
|
| 435 |
+ 0xef, 0x8f, 0x8b, 0x0c, 0xbb, 0x10, 0x52, 0xa3, 0xd7, 0xe2, 0x84, 0xea, 0x86, 0xa2, |
|
| 436 |
+ 0xf5, 0xa8, 0xc6, 0xbe, 0xb3, 0xcd, 0x98, 0xe4, 0x1d, 0xf7, 0x4b, 0x96, 0xc5, 0x11, |
|
| 437 |
+ 0xae, 0x52, 0xf7, 0x64, 0x5c, 0x3e, 0x11, 0xc4, 0x01, 0x3e, 0x77, 0x10, 0x1c, 0x3a, |
|
| 438 |
+ 0x5a, 0x7f, 0x23, 0x8e, 0xcd, 0x93, 0x6a, 0x6e, 0xab, 0xfb, 0x47, 0x3c, 0xad, 0x81, |
|
| 439 |
+ 0x8b, 0xdc, 0x30, 0x25, 0x6e, 0xce, 0x9c, 0x5d, |
|
| 440 |
+ ], |
|
| 441 |
+ q: [ |
|
| 442 |
+ 0xf6, 0x7e, 0x94, 0x25, 0x65, 0x6f, 0xaf, 0x81, 0x06, 0xe1, 0xc3, 0xc3, 0x3b, 0x86, |
|
| 443 |
+ 0xa6, 0x73, 0xba, 0xb7, 0x55, 0xde, 0xb0, 0xda, 0x80, 0xea, 0xb3, 0x2d, 0xca, 0xbf, |
|
| 444 |
+ 0x1e, 0x6e, 0x91, 0x15, 0xbb, 0x50, 0x37, 0x60, 0x0f, 0x47, 0xb2, 0x79, 0x3f, 0x2c, |
|
| 445 |
+ 0x6d, 0x25, 0x05, 0x1b, 0x40, 0xa9, 0x8d, 0xef, 0xb7, 0x60, 0xbd, 0xf4, 0x6e, 0xf6, |
|
| 446 |
+ 0xc5, 0x13, 0x4d, 0xab, 0xba, 0xe6, 0x0f, 0x41, |
|
| 447 |
+ ], |
|
| 448 |
+ certificate: &[ |
|
| 449 |
+ 0x30, 0x82, 0x02, 0xc1, 0x30, 0x82, 0x02, 0x2a, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 450 |
+ 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x07, 0x23, 0xaf, 0x00, 0x02, 0xaf, 0x00, 0x00, 0x07, |
|
| 451 |
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 452 |
+ 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 453 |
+ 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 454 |
+ 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 455 |
+ 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 456 |
+ 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 457 |
+ 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 458 |
+ 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 459 |
+ 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 460 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 461 |
+ 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x30, 0x32, 0x33, 0x30, |
|
| 462 |
+ 0x31, 0x31, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x30, 0x37, 0x32, 0x32, 0x30, 0x32, 0x33, |
|
| 463 |
+ 0x30, 0x31, 0x31, 0x5a, 0x30, 0x64, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 464 |
+ 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 465 |
+ 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 466 |
+ 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 467 |
+ 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x27, 0x30, 0x25, 0x06, |
|
| 468 |
+ 0x03, 0x55, 0x04, 0x03, 0x13, 0x1e, 0x41, 0x50, 0x4e, 0x2e, 0x33, 0x33, 0x33, 0x33, |
|
| 469 |
+ 0x41, 0x46, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x41, 0x46, 0x30, 0x30, 0x30, 0x32, |
|
| 470 |
+ 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, |
|
| 471 |
+ 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, |
|
| 472 |
+ 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xe6, 0xaa, 0x62, 0xe6, 0xa7, |
|
| 473 |
+ 0x14, 0x5b, 0xc3, 0xc5, 0x60, 0x8b, 0x49, 0x61, 0xda, 0xc5, 0x37, 0x0c, 0x08, 0x2c, |
|
| 474 |
+ 0xc8, 0x05, 0xed, 0x0b, 0x04, 0x4e, 0x86, 0xa4, 0x8b, 0x34, 0x1f, 0xe3, 0x0f, 0x43, |
|
| 475 |
+ 0x11, 0xa1, 0xf2, 0x58, 0x16, 0x23, 0x60, 0x85, 0x08, 0x19, 0x54, 0x59, 0x7c, 0x34, |
|
| 476 |
+ 0x80, 0x4a, 0x88, 0xed, 0x81, 0x8e, 0x07, 0x30, 0x4f, 0xbc, 0x49, 0x55, 0xc1, 0x59, |
|
| 477 |
+ 0x2d, 0xb6, 0xf0, 0x00, 0x84, 0x17, 0x21, 0x62, 0xbf, 0x76, 0xf4, 0x6d, 0xf5, 0xd6, |
|
| 478 |
+ 0xf6, 0x39, 0xb3, 0x78, 0x07, 0x58, 0xaf, 0xa1, 0x1e, 0x94, 0xe9, 0x82, 0x58, 0x93, |
|
| 479 |
+ 0x6f, 0x21, 0x00, 0x84, 0xff, 0x8a, 0x28, 0x6f, 0x3d, 0x53, 0xf5, 0x3a, 0xc0, 0x92, |
|
| 480 |
+ 0xbc, 0x4a, 0x46, 0x5c, 0x69, 0xc7, 0x0d, 0x18, 0xfe, 0xfa, 0x7d, 0xc7, 0x5e, 0xa1, |
|
| 481 |
+ 0x8e, 0x22, 0x41, 0x32, 0xcf, 0x81, 0x5a, 0x4b, 0x2d, 0x26, 0x9d, 0x02, 0x03, 0x01, |
|
| 482 |
+ 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, |
|
| 483 |
+ 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, |
|
| 484 |
+ 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, |
|
| 485 |
+ 0x0e, 0x04, 0x16, 0x04, 0x14, 0x56, 0x93, 0xc6, 0x2c, 0x6a, 0xe7, 0x9f, 0xaf, 0x40, |
|
| 486 |
+ 0x6d, 0x73, 0x16, 0x9a, 0xb9, 0x21, 0x6a, 0x47, 0xc8, 0x4b, 0x84, 0x30, 0x1f, 0x06, |
|
| 487 |
+ 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xfa, 0x0d, 0xd4, 0x11, |
|
| 488 |
+ 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, 0xdd, 0x63, 0x62, 0x07, |
|
| 489 |
+ 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, |
|
| 490 |
+ 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0xa9, 0x60, 0x02, 0x2d, 0xaa, 0xf6, 0x62, |
|
| 491 |
+ 0xa4, 0x53, 0xf3, 0x16, 0x25, 0xa5, 0x82, 0xc2, 0x0c, 0x55, 0x05, 0x7e, 0x5a, 0x59, |
|
| 492 |
+ 0x80, 0x11, 0x1f, 0xbd, 0xa0, 0x45, 0xe4, 0xbe, 0xa5, 0xfb, 0xd4, 0xc2, 0x17, 0xa7, |
|
| 493 |
+ 0xbd, 0x35, 0xf9, 0x2b, 0x08, 0xfd, 0xe4, 0x5d, 0xea, 0x61, 0x39, 0x5c, 0x7f, 0x2a, |
|
| 494 |
+ 0xa3, 0x63, 0x34, 0xcf, 0xe1, 0xc8, 0x5b, 0x22, 0xa0, 0x22, 0xe2, 0x18, 0x7f, 0xbb, |
|
| 495 |
+ 0x95, 0xa1, 0x1c, 0x5d, 0x88, 0x9d, 0xb1, 0xf8, 0x4f, 0xc2, 0xe6, 0x66, 0x0e, 0x55, |
|
| 496 |
+ 0xd0, 0x30, 0xe5, 0x66, 0x6b, 0x6b, 0xd3, 0xfd, 0x2e, 0x7e, 0x0f, 0x32, 0xbf, 0xdc, |
|
| 497 |
+ 0xc1, 0x10, 0x1b, 0xbe, 0x36, 0x26, 0xd9, 0x96, 0xac, 0x03, 0xb9, 0x56, 0x53, 0xd0, |
|
| 498 |
+ 0x88, 0x29, 0xba, 0x3d, 0x79, 0x06, 0xfc, 0xe9, 0x4a, 0xa3, 0x2f, 0x69, 0x61, 0x4e, |
|
| 499 |
+ 0xcc, 0x66, 0x88, 0x19, 0xef, 0x78, 0x81, 0x35, 0xac, |
|
| 500 |
+ ], |
|
| 501 |
+ }, |
|
| 502 |
+ // CN=APN.3333AF100723AF0002AF000008. |
|
| 503 |
+ SigningIdentity {
|
|
| 504 |
+ p: [ |
|
| 505 |
+ 0xde, 0xb1, 0xcf, 0x7b, 0xaf, 0x3a, 0xd2, 0x82, 0xc0, 0xe0, 0x0d, 0x95, 0x82, 0x60, |
|
| 506 |
+ 0xa4, 0x29, 0xd5, 0xe4, 0x97, 0x86, 0xc8, 0xc6, 0x93, 0x43, 0x1c, 0x5a, 0x3e, 0x87, |
|
| 507 |
+ 0x4a, 0xfe, 0x7b, 0x19, 0x40, 0x75, 0x36, 0xab, 0xcc, 0xf4, 0x90, 0x7d, 0x75, 0xd9, |
|
| 508 |
+ 0x29, 0xd6, 0x3e, 0x34, 0x1a, 0xff, 0xe7, 0xc3, 0x48, 0x81, 0x9c, 0x65, 0x7b, 0x21, |
|
| 509 |
+ 0xdd, 0x48, 0xe7, 0x58, 0x83, 0xc8, 0x55, 0x3f, |
|
| 510 |
+ ], |
|
| 511 |
+ q: [ |
|
| 512 |
+ 0xff, 0x85, 0xfa, 0xfe, 0x5a, 0xc8, 0x65, 0x44, 0x41, 0x81, 0x19, 0xc9, 0x6c, 0xbd, |
|
| 513 |
+ 0x84, 0xb1, 0xc4, 0x01, 0xa1, 0x9b, 0x08, 0x06, 0x9c, 0xf5, 0x0c, 0x90, 0x32, 0x73, |
|
| 514 |
+ 0x77, 0xc6, 0x3d, 0xd7, 0xe8, 0x4c, 0x2f, 0x49, 0xa2, 0x96, 0x24, 0x3b, 0x4b, 0x4d, |
|
| 515 |
+ 0x41, 0x16, 0xe5, 0x08, 0xca, 0xda, 0x3c, 0x4e, 0x05, 0xa2, 0xc2, 0xd8, 0xa0, 0xd2, |
|
| 516 |
+ 0xa0, 0xa1, 0x92, 0xbc, 0x1c, 0xb2, 0x97, 0x19, |
|
| 517 |
+ ], |
|
| 518 |
+ certificate: &[ |
|
| 519 |
+ 0x30, 0x82, 0x02, 0xc1, 0x30, 0x82, 0x02, 0x2a, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 520 |
+ 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x07, 0x23, 0xaf, 0x00, 0x02, 0xaf, 0x00, 0x00, 0x08, |
|
| 521 |
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 522 |
+ 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 523 |
+ 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 524 |
+ 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 525 |
+ 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 526 |
+ 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 527 |
+ 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 528 |
+ 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 529 |
+ 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 530 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 531 |
+ 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x30, 0x32, 0x33, 0x30, |
|
| 532 |
+ 0x31, 0x31, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x30, 0x37, 0x32, 0x32, 0x30, 0x32, 0x33, |
|
| 533 |
+ 0x30, 0x31, 0x31, 0x5a, 0x30, 0x64, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 534 |
+ 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 535 |
+ 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 536 |
+ 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 537 |
+ 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x27, 0x30, 0x25, 0x06, |
|
| 538 |
+ 0x03, 0x55, 0x04, 0x03, 0x13, 0x1e, 0x41, 0x50, 0x4e, 0x2e, 0x33, 0x33, 0x33, 0x33, |
|
| 539 |
+ 0x41, 0x46, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x41, 0x46, 0x30, 0x30, 0x30, 0x32, |
|
| 540 |
+ 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x38, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, |
|
| 541 |
+ 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, |
|
| 542 |
+ 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xde, 0x47, 0xaa, 0x63, 0xe6, |
|
| 543 |
+ 0xd1, 0x1d, 0x0a, 0x05, 0x4b, 0xe0, 0xae, 0xe0, 0x07, 0x88, 0x96, 0xc8, 0xc7, 0x16, |
|
| 544 |
+ 0x88, 0x89, 0xb0, 0x7c, 0x31, 0xa8, 0x06, 0x50, 0x72, 0xf2, 0x3f, 0x71, 0x07, 0xbf, |
|
| 545 |
+ 0x7e, 0x93, 0xeb, 0x97, 0x50, 0x57, 0x33, 0xba, 0x79, 0x06, 0xfa, 0xae, 0x75, 0x3d, |
|
| 546 |
+ 0x76, 0xd2, 0xea, 0xce, 0xe9, 0x4e, 0xff, 0xd7, 0xf3, 0x06, 0xa8, 0xff, 0xa3, 0xa3, |
|
| 547 |
+ 0x2c, 0xe1, 0x1c, 0x3e, 0xc2, 0x29, 0x8f, 0x75, 0xf2, 0x32, 0x18, 0xe5, 0xcd, 0xfa, |
|
| 548 |
+ 0x9d, 0x3b, 0x79, 0x9f, 0x03, 0xc2, 0x1d, 0xb2, 0x79, 0x07, 0x3c, 0x2a, 0x10, 0xc0, |
|
| 549 |
+ 0x24, 0x08, 0x26, 0x80, 0x7a, 0x64, 0xf3, 0x8d, 0xa6, 0x80, 0xb8, 0x1d, 0x63, 0xc6, |
|
| 550 |
+ 0x9f, 0x13, 0x63, 0xeb, 0x84, 0x08, 0x20, 0xb3, 0xbb, 0x26, 0xfe, 0x1f, 0xeb, 0x54, |
|
| 551 |
+ 0x91, 0x99, 0xef, 0x2a, 0xe4, 0xe0, 0x42, 0x32, 0xa6, 0x7c, 0x27, 0x02, 0x03, 0x01, |
|
| 552 |
+ 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, |
|
| 553 |
+ 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, |
|
| 554 |
+ 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, |
|
| 555 |
+ 0x0e, 0x04, 0x16, 0x04, 0x14, 0x90, 0xc0, 0x8d, 0xd4, 0x02, 0x1f, 0xca, 0x9f, 0xee, |
|
| 556 |
+ 0xef, 0x9b, 0x1e, 0xf1, 0x2b, 0x48, 0x87, 0xf4, 0xe8, 0x3c, 0x84, 0x30, 0x1f, 0x06, |
|
| 557 |
+ 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xfa, 0x0d, 0xd4, 0x11, |
|
| 558 |
+ 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, 0xdd, 0x63, 0x62, 0x07, |
|
| 559 |
+ 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, |
|
| 560 |
+ 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x1a, 0x1b, 0xc2, 0x71, 0xee, 0xc3, 0xe6, |
|
| 561 |
+ 0xf1, 0xd3, 0x7f, 0xe8, 0x19, 0xf9, 0x03, 0xd8, 0x17, 0xb5, 0xe7, 0x63, 0xfa, 0xb3, |
|
| 562 |
+ 0x3f, 0x4e, 0x9a, 0x7a, 0x37, 0x64, 0x04, 0x9e, 0xe9, 0x45, 0x79, 0xa6, 0x21, 0x5c, |
|
| 563 |
+ 0x63, 0x57, 0x84, 0x9e, 0xf3, 0x2a, 0xa1, 0x18, 0xeb, 0xf3, 0xea, 0xc2, 0x52, 0x8e, |
|
| 564 |
+ 0x96, 0x18, 0x10, 0x28, 0xfc, 0xb4, 0x75, 0x6e, 0xe3, 0x6b, 0xc8, 0xc4, 0xab, 0xd6, |
|
| 565 |
+ 0x50, 0x30, 0xef, 0x73, 0xbf, 0x24, 0xc0, 0x05, 0x4e, 0x0b, 0x36, 0x0f, 0x11, 0xed, |
|
| 566 |
+ 0x9e, 0xb9, 0x67, 0x8e, 0x2a, 0x7c, 0x24, 0x02, 0xaa, 0xb3, 0x94, 0xd1, 0xcd, 0x4c, |
|
| 567 |
+ 0xe9, 0x9b, 0x55, 0xa0, 0xc5, 0x00, 0xd0, 0xfc, 0xce, 0x2f, 0xb6, 0x43, 0x57, 0x6a, |
|
| 568 |
+ 0x55, 0x79, 0x0a, 0xa1, 0xe2, 0xe3, 0x0c, 0x65, 0xd8, 0x24, 0x4c, 0x20, 0x65, 0x8e, |
|
| 569 |
+ 0xc2, 0xa2, 0x30, 0x6e, 0xb3, 0x00, 0xac, 0x72, 0xf0, |
|
| 570 |
+ ], |
|
| 571 |
+ }, |
|
| 572 |
+ // CN=APN.3333AF100723AF0002AF000009. |
|
| 573 |
+ SigningIdentity {
|
|
| 574 |
+ p: [ |
|
| 575 |
+ 0xfb, 0xfc, 0x34, 0x55, 0xad, 0x62, 0x97, 0xf2, 0xa0, 0xe0, 0xed, 0xa8, 0xcb, 0x38, |
|
| 576 |
+ 0x22, 0xc4, 0x16, 0x15, 0x49, 0x8f, 0x29, 0x42, 0x79, 0x20, 0xfe, 0x7e, 0x0a, 0x6d, |
|
| 577 |
+ 0x46, 0x04, 0xdb, 0xcb, 0xf2, 0xf6, 0xd0, 0x04, 0x84, 0xf0, 0x1a, 0xb5, 0xd2, 0xfe, |
|
| 578 |
+ 0xb7, 0x8e, 0x43, 0x1d, 0x39, 0x2a, 0xcf, 0x35, 0x9c, 0xbd, 0x85, 0x89, 0xc8, 0xb9, |
|
| 579 |
+ 0xec, 0x29, 0x87, 0xca, 0x53, 0xdb, 0xc7, 0xe5, |
|
| 580 |
+ ], |
|
| 581 |
+ q: [ |
|
| 582 |
+ 0xfd, 0x49, 0x28, 0xf2, 0x57, 0xa7, 0x9b, 0x54, 0x8f, 0x13, 0xa9, 0x6f, 0xc6, 0x24, |
|
| 583 |
+ 0xd8, 0x45, 0x8e, 0x2b, 0x62, 0xe9, 0x32, 0x3a, 0xd9, 0x1d, 0xd8, 0x80, 0xc3, 0x76, |
|
| 584 |
+ 0xcb, 0x6a, 0x34, 0x8f, 0x6f, 0x38, 0xb5, 0xaa, 0xab, 0x62, 0xaf, 0x6f, 0x6f, 0x25, |
|
| 585 |
+ 0xaa, 0x0f, 0x23, 0x2e, 0xfa, 0x85, 0x69, 0xf8, 0x90, 0xf4, 0xe8, 0x2c, 0x08, 0xe0, |
|
| 586 |
+ 0x73, 0xbf, 0x07, 0x95, 0xcb, 0xb2, 0xa9, 0x6d, |
|
| 587 |
+ ], |
|
| 588 |
+ certificate: &[ |
|
| 589 |
+ 0x30, 0x82, 0x02, 0xc1, 0x30, 0x82, 0x02, 0x2a, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 590 |
+ 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x07, 0x23, 0xaf, 0x00, 0x02, 0xaf, 0x00, 0x00, 0x09, |
|
| 591 |
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 592 |
+ 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 593 |
+ 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 594 |
+ 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 595 |
+ 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 596 |
+ 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 597 |
+ 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 598 |
+ 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 599 |
+ 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 600 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 601 |
+ 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x30, 0x32, 0x33, 0x30, |
|
| 602 |
+ 0x31, 0x31, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x30, 0x37, 0x32, 0x32, 0x30, 0x32, 0x33, |
|
| 603 |
+ 0x30, 0x31, 0x31, 0x5a, 0x30, 0x64, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 604 |
+ 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 605 |
+ 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 606 |
+ 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 607 |
+ 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x27, 0x30, 0x25, 0x06, |
|
| 608 |
+ 0x03, 0x55, 0x04, 0x03, 0x13, 0x1e, 0x41, 0x50, 0x4e, 0x2e, 0x33, 0x33, 0x33, 0x33, |
|
| 609 |
+ 0x41, 0x46, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x41, 0x46, 0x30, 0x30, 0x30, 0x32, |
|
| 610 |
+ 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x39, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, |
|
| 611 |
+ 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, |
|
| 612 |
+ 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xf9, 0x50, 0x42, 0xf1, 0x8b, |
|
| 613 |
+ 0xa7, 0x6d, 0x91, 0x9d, 0x36, 0x9c, 0x4a, 0x3c, 0x2f, 0x23, 0xd3, 0xea, 0x44, 0xf0, |
|
| 614 |
+ 0xd3, 0x2a, 0x7c, 0xbe, 0xd3, 0x1f, 0x12, 0x3d, 0x12, 0x99, 0x7c, 0x81, 0xe6, 0x9b, |
|
| 615 |
+ 0xd9, 0x47, 0x63, 0x63, 0xcd, 0x90, 0x48, 0x26, 0xa3, 0x0e, 0x4c, 0x23, 0xb4, 0x16, |
|
| 616 |
+ 0x5d, 0x15, 0x49, 0x9d, 0xdb, 0x47, 0x1c, 0xff, 0x9a, 0xf7, 0x01, 0x1d, 0x3f, 0x99, |
|
| 617 |
+ 0x4e, 0xfc, 0x37, 0xf9, 0xfe, 0x1b, 0x59, 0x3d, 0xda, 0xa0, 0x76, 0x56, 0xc1, 0x08, |
|
| 618 |
+ 0x53, 0xd8, 0x29, 0x9f, 0xe5, 0xe2, 0x2b, 0x7f, 0xbf, 0x90, 0x04, 0x5f, 0xf5, 0x40, |
|
| 619 |
+ 0x40, 0xe8, 0x1d, 0x66, 0xa9, 0xb6, 0x7a, 0x99, 0xca, 0x92, 0x5a, 0x41, 0x6a, 0x5d, |
|
| 620 |
+ 0xc3, 0xb3, 0xb1, 0xab, 0x57, 0x43, 0xda, 0xe6, 0xa9, 0x6c, 0x92, 0xcb, 0x54, 0xbd, |
|
| 621 |
+ 0x25, 0x44, 0xd2, 0xa7, 0xbe, 0x94, 0x1e, 0x5f, 0xc4, 0x49, 0x81, 0x02, 0x03, 0x01, |
|
| 622 |
+ 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, |
|
| 623 |
+ 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, |
|
| 624 |
+ 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, |
|
| 625 |
+ 0x0e, 0x04, 0x16, 0x04, 0x14, 0xdd, 0x29, 0xab, 0x1a, 0x87, 0xc4, 0x51, 0x20, 0xf6, |
|
| 626 |
+ 0x72, 0x4e, 0x6a, 0x9c, 0x7e, 0xa0, 0xd8, 0x55, 0xd3, 0x7e, 0xfa, 0x30, 0x1f, 0x06, |
|
| 627 |
+ 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xfa, 0x0d, 0xd4, 0x11, |
|
| 628 |
+ 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, 0xdd, 0x63, 0x62, 0x07, |
|
| 629 |
+ 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, |
|
| 630 |
+ 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x70, 0x66, 0x20, 0x8d, 0xd2, 0x5f, 0x1a, |
|
| 631 |
+ 0xda, 0x1b, 0xe8, 0xbf, 0x90, 0xd1, 0xbd, 0x16, 0x51, 0x47, 0x46, 0x39, 0xc2, 0x51, |
|
| 632 |
+ 0x3a, 0x77, 0xa6, 0xbf, 0x49, 0xba, 0x62, 0x4e, 0x15, 0x20, 0x9f, 0xdf, 0xca, 0xef, |
|
| 633 |
+ 0xf2, 0xdb, 0x4a, 0x48, 0x73, 0x45, 0x4d, 0x1f, 0xcc, 0x66, 0x9b, 0xd8, 0xbd, 0xd5, |
|
| 634 |
+ 0x99, 0xa9, 0x37, 0x43, 0xe5, 0x5d, 0xef, 0x52, 0x0c, 0x06, 0x6f, 0x11, 0xca, 0xfc, |
|
| 635 |
+ 0xe3, 0xc4, 0x66, 0x98, 0xc9, 0x2a, 0x25, 0x7c, 0xa9, 0x6a, 0xc3, 0x70, 0x10, 0xe9, |
|
| 636 |
+ 0x55, 0xa1, 0xfc, 0x68, 0x24, 0x7f, 0x67, 0x3d, 0x59, 0x64, 0x66, 0x04, 0x03, 0x81, |
|
| 637 |
+ 0xd7, 0xe5, 0x2a, 0xaa, 0x04, 0x5a, 0xba, 0x59, 0xf6, 0xef, 0x4e, 0xfb, 0x86, 0xf7, |
|
| 638 |
+ 0x96, 0x7f, 0x1a, 0xa7, 0xe9, 0xce, 0xad, 0xee, 0xff, 0x45, 0xfe, 0x58, 0x82, 0xf4, |
|
| 639 |
+ 0xed, 0x19, 0xdf, 0x3f, 0x59, 0xc1, 0xde, 0x36, 0xe9, |
|
| 640 |
+ ], |
|
| 641 |
+ }, |
|
| 642 |
+ // CN=APN.3333AF100723AF0002AF000010. |
|
| 643 |
+ SigningIdentity {
|
|
| 644 |
+ p: [ |
|
| 645 |
+ 0xca, 0x3c, 0x28, 0x39, 0xf6, 0xef, 0x84, 0x1b, 0x85, 0xfe, 0xc9, 0xe9, 0xbb, 0xf5, |
|
| 646 |
+ 0xf3, 0x0e, 0x54, 0xde, 0xa5, 0x1a, 0xb2, 0xc7, 0x9c, 0xfb, 0xa9, 0xeb, 0x51, 0x58, |
|
| 647 |
+ 0xd2, 0x37, 0xab, 0x45, 0x2b, 0x5b, 0x08, 0xd7, 0xb0, 0xd8, 0x25, 0xaa, 0xd4, 0x4c, |
|
| 648 |
+ 0x2b, 0xf3, 0x30, 0x8d, 0x6a, 0x64, 0xa2, 0xa9, 0xec, 0x47, 0xd9, 0x59, 0x41, 0x57, |
|
| 649 |
+ 0x15, 0x6e, 0xb0, 0x03, 0x22, 0x05, 0x46, 0xe1, |
|
| 650 |
+ ], |
|
| 651 |
+ q: [ |
|
| 652 |
+ 0xfc, 0x70, 0x1b, 0x3a, 0x71, 0x96, 0x22, 0xaf, 0x92, 0x28, 0xa1, 0xed, 0xf5, 0x7e, |
|
| 653 |
+ 0x95, 0x68, 0x86, 0xd0, 0x3e, 0x0f, 0x18, 0x22, 0xfa, 0x88, 0x71, 0x27, 0xdd, 0x60, |
|
| 654 |
+ 0x5a, 0x41, 0xbb, 0x87, 0xb3, 0xae, 0x03, 0x85, 0x42, 0x9a, 0x09, 0x9f, 0xe4, 0xa0, |
|
| 655 |
+ 0x53, 0xf3, 0x88, 0xaa, 0x0a, 0x83, 0x59, 0x00, 0xb6, 0xba, 0x4a, 0xa5, 0xd2, 0xd2, |
|
| 656 |
+ 0x66, 0x4a, 0xd1, 0xb1, 0x81, 0x09, 0x7e, 0x97, |
|
| 657 |
+ ], |
|
| 658 |
+ certificate: &[ |
|
| 659 |
+ 0x30, 0x82, 0x02, 0xc1, 0x30, 0x82, 0x02, 0x2a, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 660 |
+ 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x07, 0x23, 0xaf, 0x00, 0x02, 0xaf, 0x00, 0x00, 0x10, |
|
| 661 |
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 662 |
+ 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 663 |
+ 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 664 |
+ 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 665 |
+ 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 666 |
+ 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 667 |
+ 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 668 |
+ 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 669 |
+ 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 670 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 671 |
+ 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x30, 0x32, 0x33, 0x30, |
|
| 672 |
+ 0x31, 0x32, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x30, 0x37, 0x32, 0x32, 0x30, 0x32, 0x33, |
|
| 673 |
+ 0x30, 0x31, 0x32, 0x5a, 0x30, 0x64, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 674 |
+ 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 675 |
+ 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 676 |
+ 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 677 |
+ 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x27, 0x30, 0x25, 0x06, |
|
| 678 |
+ 0x03, 0x55, 0x04, 0x03, 0x13, 0x1e, 0x41, 0x50, 0x4e, 0x2e, 0x33, 0x33, 0x33, 0x33, |
|
| 679 |
+ 0x41, 0x46, 0x31, 0x30, 0x30, 0x37, 0x32, 0x33, 0x41, 0x46, 0x30, 0x30, 0x30, 0x32, |
|
| 680 |
+ 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, |
|
| 681 |
+ 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, |
|
| 682 |
+ 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xc7, 0x6b, 0xc7, 0x6d, 0x2c, |
|
| 683 |
+ 0x0a, 0x31, 0x69, 0xf1, 0x08, 0x47, 0xee, 0xfa, 0xab, 0x20, 0x88, 0x53, 0xd4, 0x56, |
|
| 684 |
+ 0x88, 0xdd, 0x09, 0xb5, 0x42, 0x40, 0xfe, 0x82, 0x89, 0x89, 0x36, 0x45, 0x1d, 0x74, |
|
| 685 |
+ 0xfc, 0xc0, 0xdc, 0x40, 0x1c, 0xe4, 0xe8, 0x9d, 0x60, 0xdc, 0x92, 0x92, 0xcc, 0xed, |
|
| 686 |
+ 0x38, 0x0b, 0x7c, 0x8b, 0x96, 0x53, 0x9f, 0x4e, 0xc2, 0x71, 0x6c, 0x2a, 0xac, 0xca, |
|
| 687 |
+ 0x79, 0xf6, 0x7f, 0x48, 0x8d, 0x32, 0x9e, 0xf0, 0xae, 0x6a, 0x79, 0x76, 0xdb, 0x58, |
|
| 688 |
+ 0x10, 0x36, 0x88, 0x4a, 0x47, 0xf7, 0x34, 0x9b, 0xff, 0x2a, 0x80, 0x6a, 0x73, 0xb8, |
|
| 689 |
+ 0x36, 0x25, 0x1e, 0xba, 0x7e, 0x75, 0x8f, 0xda, 0x09, 0xca, 0x35, 0x7d, 0x52, 0xe1, |
|
| 690 |
+ 0xf5, 0xbd, 0x80, 0x5c, 0x94, 0x2d, 0x71, 0xe4, 0xe4, 0x3e, 0x99, 0xc9, 0x18, 0x94, |
|
| 691 |
+ 0xd8, 0xd5, 0xc6, 0xda, 0xb9, 0xea, 0x0f, 0x88, 0xe8, 0x8c, 0xb7, 0x02, 0x03, 0x01, |
|
| 692 |
+ 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, |
|
| 693 |
+ 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, |
|
| 694 |
+ 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, |
|
| 695 |
+ 0x0e, 0x04, 0x16, 0x04, 0x14, 0x0f, 0xb5, 0x2e, 0xbc, 0x73, 0xb7, 0x82, 0x86, 0x45, |
|
| 696 |
+ 0x02, 0xde, 0x5f, 0x02, 0x6b, 0x3f, 0x16, 0x38, 0xd8, 0x0c, 0x58, 0x30, 0x1f, 0x06, |
|
| 697 |
+ 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xfa, 0x0d, 0xd4, 0x11, |
|
| 698 |
+ 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, 0xdd, 0x63, 0x62, 0x07, |
|
| 699 |
+ 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, |
|
| 700 |
+ 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x7c, 0x65, 0xd8, 0x81, 0xd9, 0xcd, 0x65, |
|
| 701 |
+ 0x9e, 0xba, 0x5d, 0xba, 0x09, 0xd6, 0x4a, 0xf1, 0x5f, 0xd7, 0xcd, 0x7f, 0x51, 0xd7, |
|
| 702 |
+ 0x73, 0x7c, 0x0d, 0x59, 0x10, 0x11, 0xfa, 0x5e, 0x90, 0x5d, 0x7f, 0xa1, 0x0e, 0x79, |
|
| 703 |
+ 0xf9, 0x2e, 0xf4, 0xbb, 0x08, 0x79, 0xd2, 0xbd, 0xfe, 0xf7, 0xb1, 0xeb, 0x71, 0x39, |
|
| 704 |
+ 0xef, 0x1a, 0x83, 0x9d, 0xd1, 0x3d, 0x4f, 0x55, 0x3b, 0xfc, 0x12, 0x3d, 0xc9, 0xd7, |
|
| 705 |
+ 0xcf, 0xfe, 0x1b, 0x75, 0xbe, 0x95, 0xef, 0xa0, 0x46, 0x06, 0xf3, 0xd0, 0xaf, 0x11, |
|
| 706 |
+ 0x46, 0x5d, 0xca, 0x6f, 0x85, 0x16, 0xbd, 0x31, 0xe5, 0x81, 0xf3, 0x2d, 0x9e, 0x57, |
|
| 707 |
+ 0x74, 0x87, 0x4b, 0xe6, 0x63, 0x96, 0x0b, 0x51, 0x1b, 0x9e, 0x71, 0xaf, 0xa8, 0xc0, |
|
| 708 |
+ 0xc2, 0x11, 0x1a, 0x2f, 0x6b, 0x0f, 0x3a, 0xbb, 0xe2, 0x53, 0xd6, 0x5e, 0xdf, 0x58, |
|
| 709 |
+ 0x24, 0x8a, 0xd1, 0xbd, 0x00, 0x5c, 0x69, 0xb8, 0x4e, |
|
| 710 |
+ ], |
|
| 711 |
+ }, |
|
| 712 |
+]; |
|
| 713 |
+ |
|
| 714 |
+// Shared FairPlay intermediate and Apple root, concatenated DER. |
|
| 715 |
+pub(super) const CERTIFICATE_AUTHORITY_CHAIN: &[u8] = &[ |
|
| 716 |
+ 0x30, 0x82, 0x03, 0x71, 0x30, 0x82, 0x02, 0x59, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x01, 0x11, |
|
| 717 |
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, |
|
| 718 |
+ 0x62, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, |
|
| 719 |
+ 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, |
|
| 720 |
+ 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, |
|
| 721 |
+ 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, |
|
| 722 |
+ 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x16, 0x30, 0x14, 0x06, |
|
| 723 |
+ 0x03, 0x55, 0x04, 0x03, 0x13, 0x0d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x52, 0x6f, 0x6f, 0x74, |
|
| 724 |
+ 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x37, 0x30, 0x32, 0x31, 0x34, 0x31, 0x39, 0x32, |
|
| 725 |
+ 0x30, 0x34, 0x31, 0x5a, 0x17, 0x0d, 0x31, 0x32, 0x30, 0x32, 0x31, 0x34, 0x31, 0x39, 0x32, 0x30, |
|
| 726 |
+ 0x34, 0x31, 0x5a, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 727 |
+ 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, 0x70, 0x70, |
|
| 728 |
+ 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, 0x03, 0x55, 0x04, 0x0b, |
|
| 729 |
+ 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, |
|
| 730 |
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, |
|
| 731 |
+ 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, |
|
| 732 |
+ 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, |
|
| 733 |
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 734 |
+ 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, |
|
| 735 |
+ 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xb2, 0x67, 0x3c, |
|
| 736 |
+ 0x5d, 0x2a, 0xe7, 0x8f, 0xf2, 0x77, 0xcf, 0xef, 0x31, 0xbc, 0xd1, 0x04, 0xfd, 0xea, 0x9f, 0xd0, |
|
| 737 |
+ 0x86, 0x29, 0x90, 0x0a, 0xa3, 0xff, 0x64, 0x4a, 0xef, 0x69, 0xf4, 0x0a, 0xb9, 0xef, 0xc4, 0xc4, |
|
| 738 |
+ 0x63, 0xca, 0x3a, 0x2d, 0x21, 0x3d, 0x52, 0x8c, 0x23, 0x89, 0x29, 0xaa, 0xdb, 0x17, 0xdc, 0xcb, |
|
| 739 |
+ 0x28, 0xc4, 0x69, 0xcd, 0x72, 0x24, 0xc2, 0x10, 0xc1, 0xf4, 0x78, 0x1d, 0x31, 0x16, 0xc5, 0xe6, |
|
| 740 |
+ 0xea, 0x19, 0x1d, 0x2a, 0x33, 0xbe, 0x80, 0xab, 0xdc, 0x11, 0x48, 0x06, 0x2a, 0x1f, 0x0e, 0x61, |
|
| 741 |
+ 0x81, 0xcd, 0x79, 0x9a, 0x5d, 0x12, 0xf4, 0x84, 0x90, 0xc8, 0x7c, 0xf6, 0x78, 0x9b, 0x52, 0xf8, |
|
| 742 |
+ 0xfa, 0xf1, 0x88, 0x6e, 0x10, 0x72, 0xf8, 0x5d, 0xcb, 0x88, 0xec, 0xb6, 0x55, 0x14, 0x97, 0xa4, |
|
| 743 |
+ 0x4d, 0x0b, 0xc1, 0x4f, 0x27, 0x67, 0x99, 0xa6, 0xa4, 0xb3, 0xd7, 0xda, 0xad, 0x02, 0x03, 0x01, |
|
| 744 |
+ 0x00, 0x01, 0xa3, 0x81, 0x9c, 0x30, 0x81, 0x99, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, |
|
| 745 |
+ 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, |
|
| 746 |
+ 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, |
|
| 747 |
+ 0x04, 0x16, 0x04, 0x14, 0xfa, 0x0d, 0xd4, 0x11, 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, |
|
| 748 |
+ 0x94, 0x11, 0xdd, 0x63, 0x62, 0x07, 0x59, 0x64, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, |
|
| 749 |
+ 0x18, 0x30, 0x16, 0x80, 0x14, 0x2b, 0xd0, 0x69, 0x47, 0x94, 0x76, 0x09, 0xfe, 0xf4, 0x6b, 0x8d, |
|
| 750 |
+ 0x2e, 0x40, 0xa6, 0xf7, 0x47, 0x4d, 0x7f, 0x08, 0x5e, 0x30, 0x36, 0x06, 0x03, 0x55, 0x1d, 0x1f, |
|
| 751 |
+ 0x04, 0x2f, 0x30, 0x2d, 0x30, 0x2b, 0xa0, 0x29, 0xa0, 0x27, 0x86, 0x25, 0x68, 0x74, 0x74, 0x70, |
|
| 752 |
+ 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, |
|
| 753 |
+ 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x63, 0x61, 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x72, |
|
| 754 |
+ 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, |
|
| 755 |
+ 0x03, 0x82, 0x01, 0x01, 0x00, 0xc0, 0xa0, 0x73, 0xf8, 0x1d, 0xea, 0x1c, 0xd1, 0xcd, 0xc5, 0x86, |
|
| 756 |
+ 0x75, 0xa4, 0xbb, 0xeb, 0x40, 0xc5, 0x6a, 0x2d, 0x0c, 0xfe, 0x5b, 0xfc, 0x6e, 0xc1, 0x5b, 0xd7, |
|
| 757 |
+ 0x48, 0x7d, 0x40, 0xa9, 0x61, 0x2d, 0x4b, 0x37, 0x70, 0x38, 0xef, 0x06, 0x91, 0x4b, 0xaf, 0x11, |
|
| 758 |
+ 0xc2, 0x1f, 0x95, 0xee, 0x88, 0x33, 0x6f, 0x5f, 0x72, 0xea, 0xf6, 0xd5, 0x76, 0xb5, 0x57, 0x58, |
|
| 759 |
+ 0x71, 0xf0, 0x3e, 0x10, 0xc3, 0xd5, 0x2e, 0xbb, 0x2f, 0xa6, 0x3a, 0x73, 0xc2, 0x32, 0x65, 0x0a, |
|
| 760 |
+ 0x56, 0x04, 0x16, 0x19, 0x98, 0x4d, 0x0b, 0x78, 0x6d, 0xd0, 0xa3, 0x74, 0x64, 0x98, 0x54, 0xf4, |
|
| 761 |
+ 0xa7, 0xd7, 0x1d, 0xa2, 0xff, 0x2a, 0xc3, 0x79, 0x00, 0xb2, 0x99, 0xe7, 0xe7, 0xbb, 0xd5, 0x06, |
|
| 762 |
+ 0xa2, 0xeb, 0x49, 0x33, 0x69, 0x67, 0x41, 0x01, 0x99, 0xad, 0x68, 0xb0, 0xd3, 0x7a, 0xf4, 0x95, |
|
| 763 |
+ 0xe0, 0xfd, 0x24, 0x88, 0x2a, 0x10, 0xe7, 0xa3, 0x68, 0xff, 0xad, 0x7b, 0xfa, 0xd9, 0xba, 0xf1, |
|
| 764 |
+ 0xa5, 0x7f, 0xca, 0x93, 0xa2, 0xce, 0x03, 0x37, 0x03, 0x66, 0x85, 0x93, 0x05, 0x1b, 0x31, 0xf6, |
|
| 765 |
+ 0x75, 0x82, 0x93, 0x2f, 0xd3, 0xf0, 0xda, 0x39, 0x37, 0x3d, 0x5f, 0xfe, 0xba, 0xcd, 0x9a, 0x70, |
|
| 766 |
+ 0xc0, 0x06, 0x8b, 0x22, 0xee, 0xa9, 0xce, 0x04, 0x6e, 0x24, 0x69, 0x3b, 0x16, 0x52, 0xa5, 0xc0, |
|
| 767 |
+ 0xf2, 0xc0, 0xae, 0x43, 0x70, 0x84, 0xbb, 0x21, 0x91, 0x43, 0xcb, 0xbb, 0xb7, 0xea, 0x5b, 0xba, |
|
| 768 |
+ 0x93, 0xe0, 0xb7, 0x77, 0x89, 0xef, 0x4d, 0x56, 0x04, 0x33, 0x5d, 0xce, 0x5c, 0x59, 0x31, 0xa7, |
|
| 769 |
+ 0xd7, 0x3b, 0x45, 0x56, 0x11, 0xcd, 0xae, 0xcb, 0x9b, 0x0e, 0xa0, 0xcf, 0xdc, 0x93, 0xa8, 0xca, |
|
| 770 |
+ 0xc5, 0x58, 0x78, 0x00, 0x05, 0xd9, 0x99, 0xab, 0xd6, 0x5e, 0x87, 0xea, 0x92, 0x73, 0x34, 0x54, |
|
| 771 |
+ 0xa3, 0x93, 0x18, 0xa4, 0x83, 0x30, 0x82, 0x04, 0xbb, 0x30, 0x82, 0x03, 0xa3, 0xa0, 0x03, 0x02, |
|
| 772 |
+ 0x01, 0x02, 0x02, 0x01, 0x02, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, |
|
| 773 |
+ 0x01, 0x05, 0x05, 0x00, 0x30, 0x62, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, |
|
| 774 |
+ 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, 0x70, |
|
| 775 |
+ 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, 0x03, 0x55, 0x04, |
|
| 776 |
+ 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, |
|
| 777 |
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 778 |
+ 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0d, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 779 |
+ 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x36, 0x30, 0x34, |
|
| 780 |
+ 0x32, 0x35, 0x32, 0x31, 0x34, 0x30, 0x33, 0x36, 0x5a, 0x17, 0x0d, 0x33, 0x35, 0x30, 0x32, 0x30, |
|
| 781 |
+ 0x39, 0x32, 0x31, 0x34, 0x30, 0x33, 0x36, 0x5a, 0x30, 0x62, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, |
|
| 782 |
+ 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 783 |
+ 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, |
|
| 784 |
+ 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, 0x72, |
|
| 785 |
+ 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, |
|
| 786 |
+ 0x72, 0x69, 0x74, 0x79, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0d, 0x41, |
|
| 787 |
+ 0x70, 0x70, 0x6c, 0x65, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, |
|
| 788 |
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, |
|
| 789 |
+ 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xe4, 0x91, 0xa9, |
|
| 790 |
+ 0x09, 0x1f, 0x91, 0xdb, 0x1e, 0x47, 0x50, 0xeb, 0x05, 0xed, 0x5e, 0x79, 0x84, 0x2d, 0xeb, 0x36, |
|
| 791 |
+ 0xa2, 0x57, 0x4c, 0x55, 0xec, 0x8b, 0x19, 0x89, 0xde, 0xf9, 0x4b, 0x6c, 0xf5, 0x07, 0xab, 0x22, |
|
| 792 |
+ 0x30, 0x02, 0xe8, 0x18, 0x3e, 0xf8, 0x50, 0x09, 0xd3, 0x7f, 0x41, 0xa8, 0x98, 0xf9, 0xd1, 0xca, |
|
| 793 |
+ 0x66, 0x9c, 0x24, 0x6b, 0x11, 0xd0, 0xa3, 0xbb, 0xe4, 0x1b, 0x2a, 0xc3, 0x1f, 0x95, 0x9e, 0x7a, |
|
| 794 |
+ 0x0c, 0xa4, 0x47, 0x8b, 0x5b, 0xd4, 0x16, 0x37, 0x33, 0xcb, 0xc4, 0x0f, 0x4d, 0xce, 0x14, 0x69, |
|
| 795 |
+ 0xd1, 0xc9, 0x19, 0x72, 0xf5, 0x5d, 0x0e, 0xd5, 0x7f, 0x5f, 0x9b, 0xf2, 0x25, 0x03, 0xba, 0x55, |
|
| 796 |
+ 0x8f, 0x4d, 0x5d, 0x0d, 0xf1, 0x64, 0x35, 0x23, 0x15, 0x4b, 0x15, 0x59, 0x1d, 0xb3, 0x94, 0xf7, |
|
| 797 |
+ 0xf6, 0x9c, 0x9e, 0xcf, 0x50, 0xba, 0xc1, 0x58, 0x50, 0x67, 0x8f, 0x08, 0xb4, 0x20, 0xf7, 0xcb, |
|
| 798 |
+ 0xac, 0x2c, 0x20, 0x6f, 0x70, 0xb6, 0x3f, 0x01, 0x30, 0x8c, 0xb7, 0x43, 0xcf, 0x0f, 0x9d, 0x3d, |
|
| 799 |
+ 0xf3, 0x2b, 0x49, 0x28, 0x1a, 0xc8, 0xfe, 0xce, 0xb5, 0xb9, 0x0e, 0xd9, 0x5e, 0x1c, 0xd6, 0xcb, |
|
| 800 |
+ 0x3d, 0xb5, 0x3a, 0xad, 0xf4, 0x0f, 0x0e, 0x00, 0x92, 0x0b, 0xb1, 0x21, 0x16, 0x2e, 0x74, 0xd5, |
|
| 801 |
+ 0x3c, 0x0d, 0xdb, 0x62, 0x16, 0xab, 0xa3, 0x71, 0x92, 0x47, 0x53, 0x55, 0xc1, 0xaf, 0x2f, 0x41, |
|
| 802 |
+ 0xb3, 0xf8, 0xfb, 0xe3, 0x70, 0xcd, 0xe6, 0xa3, 0x4c, 0x45, 0x7e, 0x1f, 0x4c, 0x6b, 0x50, 0x96, |
|
| 803 |
+ 0x41, 0x89, 0xc4, 0x74, 0x62, 0x0b, 0x10, 0x83, 0x41, 0x87, 0x33, 0x8a, 0x81, 0xb1, 0x30, 0x58, |
|
| 804 |
+ 0xec, 0x5a, 0x04, 0x32, 0x8c, 0x68, 0xb3, 0x8f, 0x1d, 0xde, 0x65, 0x73, 0xff, 0x67, 0x5e, 0x65, |
|
| 805 |
+ 0xbc, 0x49, 0xd8, 0x76, 0x9f, 0x33, 0x14, 0x65, 0xa1, 0x77, 0x94, 0xc9, 0x2d, 0x02, 0x03, 0x01, |
|
| 806 |
+ 0x00, 0x01, 0xa3, 0x82, 0x01, 0x7a, 0x30, 0x82, 0x01, 0x76, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, |
|
| 807 |
+ 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, |
|
| 808 |
+ 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x1d, 0x06, 0x03, 0x55, |
|
| 809 |
+ 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x2b, 0xd0, 0x69, 0x47, 0x94, 0x76, 0x09, 0xfe, 0xf4, 0x6b, |
|
| 810 |
+ 0x8d, 0x2e, 0x40, 0xa6, 0xf7, 0x47, 0x4d, 0x7f, 0x08, 0x5e, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, |
|
| 811 |
+ 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x2b, 0xd0, 0x69, 0x47, 0x94, 0x76, 0x09, 0xfe, 0xf4, |
|
| 812 |
+ 0x6b, 0x8d, 0x2e, 0x40, 0xa6, 0xf7, 0x47, 0x4d, 0x7f, 0x08, 0x5e, 0x30, 0x82, 0x01, 0x11, 0x06, |
|
| 813 |
+ 0x03, 0x55, 0x1d, 0x20, 0x04, 0x82, 0x01, 0x08, 0x30, 0x82, 0x01, 0x04, 0x30, 0x82, 0x01, 0x00, |
|
| 814 |
+ 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x63, 0x64, 0x05, 0x01, 0x30, 0x81, 0xf2, 0x30, 0x2a, |
|
| 815 |
+ 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1e, 0x68, 0x74, 0x74, 0x70, |
|
| 816 |
+ 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, |
|
| 817 |
+ 0x6d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x63, 0x61, 0x2f, 0x30, 0x81, 0xc3, 0x06, 0x08, 0x2b, |
|
| 818 |
+ 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x02, 0x30, 0x81, 0xb6, 0x1a, 0x81, 0xb3, 0x52, 0x65, 0x6c, |
|
| 819 |
+ 0x69, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x63, 0x65, |
|
| 820 |
+ 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x62, 0x79, 0x20, 0x61, 0x6e, 0x79, |
|
| 821 |
+ 0x20, 0x70, 0x61, 0x72, 0x74, 0x79, 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x20, 0x61, |
|
| 822 |
+ 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, |
|
| 823 |
+ 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, |
|
| 824 |
+ 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x20, |
|
| 825 |
+ 0x61, 0x6e, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, |
|
| 826 |
+ 0x66, 0x20, 0x75, 0x73, 0x65, 0x2c, 0x20, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 827 |
+ 0x74, 0x65, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x65, |
|
| 828 |
+ 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x72, 0x61, 0x63, |
|
| 829 |
+ 0x74, 0x69, 0x63, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, |
|
| 830 |
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, |
|
| 831 |
+ 0x82, 0x01, 0x01, 0x00, 0x5c, 0x36, 0x99, 0x4c, 0x2d, 0x78, 0xb7, 0xed, 0x8c, 0x9b, 0xdc, 0xf3, |
|
| 832 |
+ 0x77, 0x9b, 0xf2, 0x76, 0xd2, 0x77, 0x30, 0x4f, 0xc1, 0x1f, 0x85, 0x83, 0x85, 0x1b, 0x99, 0x3d, |
|
| 833 |
+ 0x47, 0x37, 0xf2, 0xa9, 0x9b, 0x40, 0x8e, 0x2c, 0xd4, 0xb1, 0x90, 0x12, 0xd8, 0xbe, 0xf4, 0x73, |
|
| 834 |
+ 0x9b, 0xee, 0xd2, 0x64, 0x0f, 0xcb, 0x79, 0x4f, 0x34, 0xd8, 0xa2, 0x3e, 0xf9, 0x78, 0xff, 0x6b, |
|
| 835 |
+ 0xc8, 0x07, 0xec, 0x7d, 0x39, 0x83, 0x8b, 0x53, 0x20, 0xd3, 0x38, 0xc4, 0xb1, 0xbf, 0x9a, 0x4f, |
|
| 836 |
+ 0x0a, 0x6b, 0xff, 0x2b, 0xfc, 0x59, 0xa7, 0x05, 0x09, 0x7c, 0x17, 0x40, 0x56, 0x11, 0x1e, 0x74, |
|
| 837 |
+ 0xd3, 0xb7, 0x8b, 0x23, 0x3b, 0x47, 0xa3, 0xd5, 0x6f, 0x24, 0xe2, 0xeb, 0xd1, 0xb7, 0x70, 0xdf, |
|
| 838 |
+ 0x0f, 0x45, 0xe1, 0x27, 0xca, 0xf1, 0x6d, 0x78, 0xed, 0xe7, 0xb5, 0x17, 0x17, 0xa8, 0xdc, 0x7e, |
|
| 839 |
+ 0x22, 0x35, 0xca, 0x25, 0xd5, 0xd9, 0x0f, 0xd6, 0x6b, 0xd4, 0xa2, 0x24, 0x23, 0x11, 0xf7, 0xa1, |
|
| 840 |
+ 0xac, 0x8f, 0x73, 0x81, 0x60, 0xc6, 0x1b, 0x5b, 0x09, 0x2f, 0x92, 0xb2, 0xf8, 0x44, 0x48, 0xf0, |
|
| 841 |
+ 0x60, 0x38, 0x9e, 0x15, 0xf5, 0x3d, 0x26, 0x67, 0x20, 0x8a, 0x33, 0x6a, 0xf7, 0x0d, 0x82, 0xcf, |
|
| 842 |
+ 0xde, 0xeb, 0xa3, 0x2f, 0xf9, 0x53, 0x6a, 0x5b, 0x64, 0xc0, 0x63, 0x33, 0x77, 0xf7, 0x3a, 0x07, |
|
| 843 |
+ 0x2c, 0x56, 0xeb, 0xda, 0x0f, 0x21, 0x0e, 0xda, 0xba, 0x73, 0x19, 0x4f, 0xb5, 0xd9, 0x36, 0x7f, |
|
| 844 |
+ 0xc1, 0x87, 0x55, 0xd9, 0xa7, 0x99, 0xb9, 0x32, 0x42, 0xfb, 0xd8, 0xd5, 0x71, 0x9e, 0x7e, 0xa1, |
|
| 845 |
+ 0x52, 0xb7, 0x1b, 0xbd, 0x93, 0x42, 0x24, 0x12, 0x2a, 0xc7, 0x0f, 0x1d, 0xb6, 0x4d, 0x9c, 0x5e, |
|
| 846 |
+ 0x63, 0xc8, 0x4b, 0x80, 0x17, 0x50, 0xaa, 0x8a, 0xd5, 0xda, 0xe4, 0xfc, 0xd0, 0x09, 0x07, 0x37, |
|
| 847 |
+ 0xb0, 0x75, 0x75, 0x21, |
|
| 848 |
+]; |
| ... | ... |
@@ -0,0 +1,277 @@ |
| 1 |
+// Synthetic input/signature pairs captured from the unchanged native routine. |
|
| 2 |
+// These are public signatures, not account or device credentials. |
|
| 3 |
+pub(super) const VECTORS: &[(usize, &[u8], &[u8])] = &[ |
|
| 4 |
+ ( |
|
| 5 |
+ 7, |
|
| 6 |
+ &[ |
|
| 7 |
+ 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, 0x41, 0x50, 0x53, 0x20, |
|
| 8 |
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x65, |
|
| 9 |
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 10 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, |
|
| 11 |
+ ], |
|
| 12 |
+ &[ |
|
| 13 |
+ 0xbc, 0x9b, 0x19, 0xef, 0x01, 0xf9, 0xba, 0xef, 0x65, 0x4d, 0xa2, 0x64, 0x4b, 0xee, |
|
| 14 |
+ 0x59, 0xbc, 0x0b, 0x64, 0x53, 0x99, 0xdf, 0x60, 0xf4, 0xaf, 0xab, 0x9e, 0xd8, 0xc3, |
|
| 15 |
+ 0x7c, 0xb1, 0x85, 0xc6, 0x27, 0x64, 0x1b, 0x5b, 0x56, 0x5b, 0xe9, 0x4b, 0xf0, 0x57, |
|
| 16 |
+ 0xf2, 0x42, 0x04, 0x99, 0xec, 0x50, 0x54, 0xc8, 0x79, 0x00, 0xba, 0xf5, 0xb6, 0x6f, |
|
| 17 |
+ 0x99, 0x76, 0xe5, 0x37, 0x60, 0x78, 0x86, 0xa9, 0x73, 0x84, 0xaa, 0x28, 0x00, 0x96, |
|
| 18 |
+ 0x42, 0xbe, 0x60, 0x61, 0x33, 0x52, 0x47, 0xb0, 0x3b, 0x28, 0xea, 0x9f, 0x09, 0xa5, |
|
| 19 |
+ 0xc4, 0xac, 0x5e, 0x1c, 0xf2, 0x30, 0x17, 0x22, 0x5d, 0xc3, 0x33, 0x9b, 0xac, 0x0f, |
|
| 20 |
+ 0x7b, 0x1e, 0xc8, 0xb5, 0xc2, 0xcd, 0x84, 0xf4, 0xc4, 0x87, 0xf0, 0x42, 0x90, 0x8f, |
|
| 21 |
+ 0x8f, 0x5f, 0x3d, 0x9e, 0xcd, 0x16, 0x81, 0xd9, 0x17, 0xe8, 0x75, 0xc8, 0x3a, 0x2b, |
|
| 22 |
+ 0xbc, 0x6e, |
|
| 23 |
+ ], |
|
| 24 |
+ ), |
|
| 25 |
+ ( |
|
| 26 |
+ 6, |
|
| 27 |
+ &[ |
|
| 28 |
+ 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, 0x41, 0x50, 0x53, 0x20, |
|
| 29 |
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x65, |
|
| 30 |
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 31 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x01, |
|
| 32 |
+ ], |
|
| 33 |
+ &[ |
|
| 34 |
+ 0x91, 0x5f, 0xcb, 0x51, 0x1a, 0xe8, 0x57, 0x0d, 0xf4, 0xab, 0xcd, 0xf8, 0xd1, 0x51, |
|
| 35 |
+ 0xac, 0xe2, 0x7e, 0x0f, 0x43, 0xb1, 0xba, 0xba, 0xd7, 0x54, 0x23, 0x45, 0x7a, 0xd9, |
|
| 36 |
+ 0x99, 0x59, 0x0f, 0x33, 0x97, 0x65, 0x64, 0x57, 0x50, 0x63, 0xcd, 0xd0, 0x29, 0x7d, |
|
| 37 |
+ 0x43, 0xef, 0xd5, 0x78, 0x43, 0x04, 0x18, 0x77, 0x52, 0x3f, 0x90, 0xf0, 0x5c, 0xcf, |
|
| 38 |
+ 0xd8, 0xa5, 0x91, 0x39, 0x5f, 0xe6, 0xcf, 0x69, 0x35, 0xa8, 0xf1, 0x5f, 0x3f, 0xe1, |
|
| 39 |
+ 0xc2, 0x33, 0x86, 0xac, 0x87, 0x12, 0xcd, 0x62, 0x35, 0xc0, 0x6f, 0xdc, 0x26, 0xe3, |
|
| 40 |
+ 0x0e, 0xa0, 0x3e, 0x43, 0x19, 0xad, 0xf8, 0x31, 0xdc, 0x4a, 0x70, 0xb0, 0x9b, 0xc3, |
|
| 41 |
+ 0x67, 0x1a, 0x34, 0x31, 0x95, 0x30, 0xf3, 0x4c, 0x8e, 0x87, 0x2c, 0xb3, 0xf8, 0x06, |
|
| 42 |
+ 0xd3, 0x10, 0xf5, 0x06, 0x61, 0xfe, 0xea, 0x9c, 0x85, 0x15, 0x04, 0x7f, 0x7e, 0xda, |
|
| 43 |
+ 0x9b, 0xe0, |
|
| 44 |
+ ], |
|
| 45 |
+ ), |
|
| 46 |
+ ( |
|
| 47 |
+ 6, |
|
| 48 |
+ &[ |
|
| 49 |
+ 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, 0x41, 0x50, 0x53, 0x20, |
|
| 50 |
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x65, |
|
| 51 |
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 52 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x02, |
|
| 53 |
+ ], |
|
| 54 |
+ &[ |
|
| 55 |
+ 0x6e, 0xd5, 0xac, 0xb5, 0x68, 0xf5, 0x92, 0x8b, 0x88, 0x1b, 0xf6, 0x10, 0x1f, 0xa8, |
|
| 56 |
+ 0x62, 0xd8, 0x6d, 0xab, 0x1f, 0x25, 0x63, 0xfb, 0x99, 0x8d, 0x88, 0x3d, 0x1a, 0x13, |
|
| 57 |
+ 0x6a, 0xd6, 0xbe, 0x6f, 0xf7, 0x12, 0x1f, 0xae, 0xd2, 0x97, 0x86, 0x57, 0x1c, 0x47, |
|
| 58 |
+ 0x03, 0xcd, 0x79, 0xd9, 0x9a, 0x0a, 0xef, 0xe4, 0x84, 0xd6, 0x62, 0x6f, 0x61, 0x76, |
|
| 59 |
+ 0xf8, 0x5c, 0x01, 0x70, 0xd6, 0xdf, 0x70, 0xd8, 0xa1, 0x41, 0x1b, 0xf1, 0x06, 0xb2, |
|
| 60 |
+ 0xda, 0x43, 0x1e, 0x34, 0xfd, 0x4b, 0xd8, 0xe2, 0xd3, 0x8d, 0xbf, 0x6b, 0x24, 0x5c, |
|
| 61 |
+ 0xd8, 0xfa, 0xe9, 0xd1, 0xda, 0x84, 0x4b, 0x39, 0x73, 0xd0, 0xec, 0xaa, 0xa2, 0x57, |
|
| 62 |
+ 0xcf, 0x03, 0xfb, 0x03, 0x4d, 0x2e, 0xf7, 0x5d, 0xf2, 0xbb, 0x28, 0x4f, 0x71, 0xba, |
|
| 63 |
+ 0x1b, 0xac, 0x2c, 0xcb, 0x7d, 0x00, 0xd9, 0x48, 0x21, 0x3f, 0x7a, 0x60, 0xa3, 0x35, |
|
| 64 |
+ 0x63, 0x01, |
|
| 65 |
+ ], |
|
| 66 |
+ ), |
|
| 67 |
+ ( |
|
| 68 |
+ 2, |
|
| 69 |
+ &[ |
|
| 70 |
+ 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, 0x41, 0x50, 0x53, 0x20, |
|
| 71 |
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x65, |
|
| 72 |
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 73 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x03, |
|
| 74 |
+ ], |
|
| 75 |
+ &[ |
|
| 76 |
+ 0x2a, 0xc8, 0x8a, 0x84, 0xbc, 0x41, 0x36, 0xdf, 0x5b, 0x49, 0x17, 0xd3, 0x6c, 0xb4, |
|
| 77 |
+ 0x60, 0xb5, 0xb2, 0x14, 0x60, 0xfc, 0x14, 0x0e, 0x97, 0x9f, 0xd7, 0xb3, 0x92, 0x73, |
|
| 78 |
+ 0x7b, 0xbc, 0xda, 0x32, 0xf1, 0x90, 0x44, 0xbd, 0x1d, 0x61, 0x12, 0x03, 0x00, 0x04, |
|
| 79 |
+ 0xf0, 0xf2, 0x7f, 0xa5, 0x0c, 0x48, 0x4d, 0xa2, 0x9d, 0x78, 0xb9, 0x79, 0x3e, 0x6a, |
|
| 80 |
+ 0x5b, 0xea, 0x24, 0x3f, 0x55, 0x8f, 0xb7, 0x3c, 0x4f, 0x9d, 0x4a, 0x31, 0x9f, 0x77, |
|
| 81 |
+ 0xa5, 0x9e, 0xdf, 0xc6, 0x89, 0x81, 0x7f, 0x52, 0x86, 0x44, 0xae, 0xd7, 0x79, 0x95, |
|
| 82 |
+ 0xfc, 0xd9, 0x17, 0x66, 0x8c, 0x92, 0xcf, 0xc7, 0x55, 0x2f, 0xbe, 0xe7, 0xc7, 0xac, |
|
| 83 |
+ 0xf0, 0x07, 0x9d, 0x40, 0x4f, 0xb3, 0x87, 0x66, 0x6d, 0xc2, 0x80, 0x53, 0x84, 0xd2, |
|
| 84 |
+ 0xbf, 0x2c, 0xc5, 0x2f, 0x2c, 0x2b, 0x46, 0x6d, 0x7c, 0x5b, 0x91, 0x57, 0x83, 0xef, |
|
| 85 |
+ 0x8a, 0xec, |
|
| 86 |
+ ], |
|
| 87 |
+ ), |
|
| 88 |
+ ( |
|
| 89 |
+ 5, |
|
| 90 |
+ &[ |
|
| 91 |
+ 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, 0x41, 0x50, 0x53, 0x20, |
|
| 92 |
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x65, |
|
| 93 |
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 94 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x04, |
|
| 95 |
+ ], |
|
| 96 |
+ &[ |
|
| 97 |
+ 0x5b, 0xf8, 0x51, 0xf1, 0x7a, 0x4a, 0x00, 0x1d, 0x37, 0x08, 0xd4, 0x5c, 0xff, 0x6f, |
|
| 98 |
+ 0x4f, 0xba, 0x34, 0x6d, 0xa2, 0x5c, 0xc2, 0x17, 0x6c, 0x8f, 0x59, 0x46, 0xae, 0x8b, |
|
| 99 |
+ 0x7d, 0xd7, 0x1a, 0xf9, 0x32, 0xd1, 0x4b, 0xe9, 0x07, 0x6b, 0x15, 0x02, 0xfc, 0x21, |
|
| 100 |
+ 0x5c, 0x08, 0x3e, 0x1d, 0x62, 0x3f, 0x5e, 0xdc, 0xbd, 0xe8, 0x51, 0x3c, 0x12, 0xf0, |
|
| 101 |
+ 0x79, 0xea, 0x21, 0xf4, 0x4d, 0x9b, 0xe1, 0x5d, 0x16, 0xf2, 0xcc, 0x31, 0x44, 0x37, |
|
| 102 |
+ 0x9d, 0xd1, 0x6f, 0x6d, 0x55, 0xd9, 0x07, 0xb2, 0xf3, 0xd0, 0xb6, 0x3b, 0xea, 0x3e, |
|
| 103 |
+ 0xeb, 0x04, 0x13, 0x9e, 0x89, 0x1c, 0x3a, 0xfc, 0x81, 0xb9, 0xd8, 0x2d, 0xba, 0x6d, |
|
| 104 |
+ 0x2b, 0x88, 0x3f, 0x36, 0x6f, 0xde, 0x6e, 0xb1, 0x75, 0x1f, 0xaf, 0x67, 0x52, 0xba, |
|
| 105 |
+ 0x5e, 0xad, 0xd8, 0x3b, 0xab, 0xa2, 0xaa, 0xf9, 0xa6, 0xf7, 0xf8, 0xda, 0x3f, 0x7a, |
|
| 106 |
+ 0x47, 0x8e, |
|
| 107 |
+ ], |
|
| 108 |
+ ), |
|
| 109 |
+ ( |
|
| 110 |
+ 9, |
|
| 111 |
+ &[ |
|
| 112 |
+ 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, 0x41, 0x50, 0x53, 0x20, |
|
| 113 |
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x65, |
|
| 114 |
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 115 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x05, |
|
| 116 |
+ ], |
|
| 117 |
+ &[ |
|
| 118 |
+ 0x22, 0x93, 0x62, 0x8c, 0x50, 0x06, 0x53, 0xd2, 0x3c, 0xa5, 0x94, 0x61, 0xd9, 0x1c, |
|
| 119 |
+ 0xd4, 0xac, 0xba, 0xc8, 0xb7, 0x1d, 0xde, 0xae, 0xba, 0xd3, 0x88, 0xe7, 0x39, 0xd3, |
|
| 120 |
+ 0x93, 0xa7, 0x4e, 0xe0, 0xbc, 0x54, 0x3d, 0xac, 0x8f, 0x3e, 0x13, 0xb3, 0xbd, 0xbc, |
|
| 121 |
+ 0x2a, 0x2e, 0x6e, 0x08, 0x89, 0x88, 0xe6, 0x22, 0x1e, 0x72, 0x11, 0xb1, 0xec, 0xd8, |
|
| 122 |
+ 0x1b, 0x2c, 0xb4, 0xa5, 0x26, 0x03, 0x07, 0xa6, 0x56, 0x6e, 0x70, 0x1c, 0x0d, 0x48, |
|
| 123 |
+ 0x74, 0x89, 0x67, 0x2c, 0xac, 0x9e, 0x1d, 0x8b, 0x51, 0xed, 0x42, 0x95, 0x32, 0x3f, |
|
| 124 |
+ 0x27, 0x84, 0xee, 0x09, 0x7f, 0xd4, 0x2c, 0xea, 0x47, 0x7d, 0x62, 0xc9, 0x94, 0x08, |
|
| 125 |
+ 0x95, 0x6a, 0x36, 0x67, 0xf6, 0x81, 0x12, 0x19, 0x36, 0x5f, 0xa3, 0x97, 0xc7, 0x69, |
|
| 126 |
+ 0xfc, 0x91, 0x87, 0xf2, 0x1b, 0xa4, 0x2d, 0xf7, 0xaf, 0xbc, 0x6a, 0x69, 0x47, 0xa6, |
|
| 127 |
+ 0x29, 0x1c, |
|
| 128 |
+ ], |
|
| 129 |
+ ), |
|
| 130 |
+ ( |
|
| 131 |
+ 4, |
|
| 132 |
+ &[ |
|
| 133 |
+ 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, 0x41, 0x50, 0x53, 0x20, |
|
| 134 |
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x65, |
|
| 135 |
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 136 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x06, |
|
| 137 |
+ ], |
|
| 138 |
+ &[ |
|
| 139 |
+ 0x97, 0xf4, 0x48, 0x97, 0x97, 0x4c, 0xd1, 0xe2, 0xe9, 0x84, 0xf0, 0xbe, 0x40, 0xee, |
|
| 140 |
+ 0xc0, 0x55, 0x1b, 0x32, 0xc8, 0x8b, 0xfa, 0xe2, 0x59, 0xfd, 0x49, 0x72, 0xe2, 0x1e, |
|
| 141 |
+ 0x30, 0xe1, 0x3a, 0xbb, 0xc3, 0x27, 0x84, 0x67, 0x39, 0x8b, 0xb4, 0x94, 0x8f, 0xd1, |
|
| 142 |
+ 0x56, 0x55, 0xed, 0x6e, 0x34, 0x7b, 0xea, 0xa7, 0xad, 0x7a, 0xb5, 0x82, 0x9b, 0x7b, |
|
| 143 |
+ 0x42, 0xe4, 0x8c, 0x69, 0xe3, 0xc7, 0xe7, 0x55, 0x44, 0xc3, 0x73, 0x3b, 0x87, 0x01, |
|
| 144 |
+ 0x4e, 0xa5, 0x6a, 0x3a, 0x6e, 0x40, 0x5d, 0x72, 0x8d, 0x8b, 0xa3, 0x7c, 0xbe, 0xba, |
|
| 145 |
+ 0x4b, 0x80, 0xc9, 0xf6, 0x28, 0x72, 0xf6, 0x67, 0x50, 0xad, 0xe2, 0xd4, 0x73, 0xce, |
|
| 146 |
+ 0x5f, 0xe2, 0xcd, 0x15, 0xcc, 0xeb, 0x99, 0x9d, 0x93, 0xd2, 0xc7, 0x4e, 0xf3, 0x03, |
|
| 147 |
+ 0x79, 0xdc, 0xcd, 0x1b, 0xb1, 0xb0, 0xd6, 0x53, 0x6f, 0xc3, 0xd7, 0x29, 0x3f, 0xdf, |
|
| 148 |
+ 0xd7, 0xa3, |
|
| 149 |
+ ], |
|
| 150 |
+ ), |
|
| 151 |
+ ( |
|
| 152 |
+ 1, |
|
| 153 |
+ &[ |
|
| 154 |
+ 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, 0x41, 0x50, 0x53, 0x20, |
|
| 155 |
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x65, |
|
| 156 |
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 157 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x07, |
|
| 158 |
+ ], |
|
| 159 |
+ &[ |
|
| 160 |
+ 0x2b, 0x63, 0x31, 0xce, 0x71, 0xa2, 0x50, 0x09, 0xc5, 0x80, 0x7a, 0xcd, 0xce, 0x60, |
|
| 161 |
+ 0xeb, 0x37, 0x75, 0x59, 0x4d, 0x5c, 0xdf, 0x1c, 0x76, 0x35, 0x45, 0x25, 0xaf, 0xb7, |
|
| 162 |
+ 0x12, 0x9e, 0x5b, 0x36, 0xe8, 0xff, 0x70, 0x57, 0x39, 0xac, 0x9e, 0xb4, 0x67, 0xda, |
|
| 163 |
+ 0x93, 0xd3, 0x47, 0x78, 0xb4, 0x10, 0x9b, 0x11, 0xed, 0x7e, 0x81, 0x20, 0xf9, 0x59, |
|
| 164 |
+ 0x95, 0x5d, 0xe0, 0x29, 0x26, 0x60, 0x84, 0x0a, 0xbf, 0x2f, 0x3e, 0xc7, 0x29, 0x5a, |
|
| 165 |
+ 0x88, 0x4a, 0x95, 0x53, 0x42, 0xbc, 0xe9, 0xfa, 0x1a, 0xa6, 0x93, 0x31, 0xa9, 0x50, |
|
| 166 |
+ 0x79, 0x6a, 0x27, 0x77, 0x91, 0xd7, 0x99, 0xab, 0xb2, 0xce, 0xec, 0xb7, 0xbe, 0xf1, |
|
| 167 |
+ 0x7a, 0x96, 0x84, 0xaa, 0xf5, 0xa1, 0x0f, 0x73, 0xad, 0xff, 0x22, 0xa7, 0x55, 0x0d, |
|
| 168 |
+ 0x4b, 0x5f, 0x30, 0x24, 0xc5, 0x32, 0x60, 0x88, 0x3b, 0x54, 0xa6, 0x65, 0xe9, 0x31, |
|
| 169 |
+ 0x44, 0x2b, |
|
| 170 |
+ ], |
|
| 171 |
+ ), |
|
| 172 |
+ ( |
|
| 173 |
+ 8, |
|
| 174 |
+ &[ |
|
| 175 |
+ 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, 0x41, 0x50, 0x53, 0x20, |
|
| 176 |
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x65, |
|
| 177 |
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 178 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x08, |
|
| 179 |
+ ], |
|
| 180 |
+ &[ |
|
| 181 |
+ 0x39, 0xd8, 0x10, 0xec, 0xa8, 0x18, 0x46, 0x82, 0x66, 0x00, 0x73, 0x7c, 0xcc, 0x1f, |
|
| 182 |
+ 0xed, 0x9e, 0x66, 0x33, 0x41, 0xb9, 0xf7, 0xf8, 0xcb, 0xe7, 0xfc, 0x60, 0xb1, 0x56, |
|
| 183 |
+ 0xcb, 0x5b, 0x62, 0xf4, 0x2f, 0x99, 0x20, 0x94, 0xdc, 0xee, 0x3e, 0x61, 0xd5, 0x77, |
|
| 184 |
+ 0x2f, 0x47, 0xa8, 0x24, 0x8c, 0xdc, 0x39, 0xf5, 0xa4, 0x95, 0x28, 0x6c, 0x2f, 0xb3, |
|
| 185 |
+ 0x2f, 0x1d, 0x9c, 0xf6, 0x98, 0xbb, 0xc5, 0xe0, 0xdb, 0x7c, 0xbe, 0xd9, 0xda, 0xfc, |
|
| 186 |
+ 0xe9, 0xae, 0x2c, 0xf5, 0xc9, 0x85, 0xad, 0xde, 0xac, 0xb1, 0xc3, 0xcf, 0x4a, 0x00, |
|
| 187 |
+ 0xc4, 0x02, 0x26, 0xdb, 0x62, 0xd8, 0xba, 0xe9, 0xc1, 0xa6, 0x68, 0xa6, 0xb4, 0xab, |
|
| 188 |
+ 0x65, 0xa9, 0x02, 0x04, 0x81, 0x8f, 0xe5, 0x26, 0x0f, 0x4f, 0x28, 0x89, 0x83, 0xac, |
|
| 189 |
+ 0x68, 0x50, 0x26, 0xd5, 0x05, 0xd9, 0xd4, 0x46, 0xb0, 0x87, 0x0a, 0x61, 0xb2, 0x56, |
|
| 190 |
+ 0x45, 0x4d, |
|
| 191 |
+ ], |
|
| 192 |
+ ), |
|
| 193 |
+ ( |
|
| 194 |
+ 0, |
|
| 195 |
+ &[ |
|
| 196 |
+ 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, 0x41, 0x50, 0x53, 0x20, |
|
| 197 |
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x65, |
|
| 198 |
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 199 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x09, |
|
| 200 |
+ ], |
|
| 201 |
+ &[ |
|
| 202 |
+ 0x33, 0x01, 0xf7, 0x94, 0x5b, 0xf0, 0xf9, 0x79, 0x8b, 0x30, 0x11, 0x97, 0x7d, 0xfc, |
|
| 203 |
+ 0xd2, 0xa5, 0x43, 0x51, 0x42, 0xb0, 0xc7, 0x88, 0x1a, 0xe4, 0x45, 0xb9, 0x00, 0x30, |
|
| 204 |
+ 0x5c, 0x62, 0x4f, 0x43, 0xce, 0x57, 0x1f, 0xee, 0x9c, 0xb5, 0x27, 0xea, 0xaf, 0xd2, |
|
| 205 |
+ 0x98, 0x5f, 0x00, 0xc2, 0xf1, 0xdb, 0x46, 0x71, 0xcf, 0x60, 0x52, 0xec, 0xa6, 0xbf, |
|
| 206 |
+ 0xeb, 0x31, 0x65, 0x43, 0x27, 0xfa, 0xf9, 0x74, 0x98, 0x9f, 0x7d, 0xc3, 0xe4, 0xe3, |
|
| 207 |
+ 0x61, 0x64, 0xa7, 0x62, 0xfb, 0x6a, 0x1d, 0x16, 0x9d, 0xad, 0xb9, 0x6b, 0x50, 0x60, |
|
| 208 |
+ 0xb7, 0x90, 0xba, 0x09, 0xda, 0x32, 0xeb, 0xc5, 0xcd, 0xc0, 0xd4, 0xb0, 0x06, 0x44, |
|
| 209 |
+ 0x9a, 0x03, 0xbd, 0x05, 0x0d, 0x12, 0x9d, 0xb8, 0x16, 0x02, 0x6b, 0x28, 0xf9, 0xcd, |
|
| 210 |
+ 0x6e, 0x19, 0xfe, 0x9d, 0xf2, 0x2b, 0x38, 0x0d, 0x8a, 0xd6, 0x17, 0x12, 0x03, 0x93, |
|
| 211 |
+ 0xa1, 0xb2, |
|
| 212 |
+ ], |
|
| 213 |
+ ), |
|
| 214 |
+ ( |
|
| 215 |
+ 1, |
|
| 216 |
+ &[ |
|
| 217 |
+ 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, 0x41, 0x50, 0x53, 0x20, |
|
| 218 |
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x65, |
|
| 219 |
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 220 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x0a, |
|
| 221 |
+ ], |
|
| 222 |
+ &[ |
|
| 223 |
+ 0x3a, 0x7c, 0xc5, 0x88, 0xea, 0x03, 0xf2, 0x9e, 0xee, 0xcc, 0xe2, 0x54, 0x49, 0x0d, |
|
| 224 |
+ 0xf7, 0x2e, 0x2f, 0x86, 0x91, 0x38, 0x20, 0x4f, 0x30, 0x81, 0xd2, 0x70, 0x6d, 0x8f, |
|
| 225 |
+ 0x32, 0xd2, 0x71, 0xea, 0xd7, 0x06, 0x4e, 0x5b, 0xb9, 0x67, 0x6b, 0x92, 0x26, 0x81, |
|
| 226 |
+ 0x3e, 0xd2, 0xd1, 0x42, 0x64, 0x66, 0xd5, 0xf5, 0xc2, 0x1c, 0xeb, 0x04, 0xd1, 0x0a, |
|
| 227 |
+ 0x3c, 0x4b, 0x8f, 0x57, 0x40, 0x54, 0xd8, 0x51, 0x57, 0x02, 0xbb, 0x37, 0x6d, 0xbe, |
|
| 228 |
+ 0xec, 0x19, 0xa8, 0x94, 0x7f, 0x68, 0x69, 0x01, 0x3d, 0x18, 0xe5, 0xa0, 0xe6, 0x39, |
|
| 229 |
+ 0x46, 0x15, 0x04, 0x45, 0x13, 0xdb, 0xbd, 0xd5, 0xe1, 0x5a, 0xf3, 0x1d, 0xa8, 0x89, |
|
| 230 |
+ 0x1e, 0xf8, 0x03, 0xc7, 0x24, 0x95, 0x4e, 0x3e, 0xa9, 0x05, 0x21, 0x0e, 0xb3, 0xd5, |
|
| 231 |
+ 0x91, 0x8d, 0x5e, 0x00, 0xbc, 0xf5, 0x26, 0x60, 0x74, 0x5e, 0xe4, 0x7b, 0xfa, 0xf5, |
|
| 232 |
+ 0x67, 0x4b, |
|
| 233 |
+ ], |
|
| 234 |
+ ), |
|
| 235 |
+ ( |
|
| 236 |
+ 1, |
|
| 237 |
+ &[ |
|
| 238 |
+ 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, 0x41, 0x50, 0x53, 0x20, |
|
| 239 |
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x65, |
|
| 240 |
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 241 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x0b, |
|
| 242 |
+ ], |
|
| 243 |
+ &[ |
|
| 244 |
+ 0x89, 0x19, 0xc9, 0x22, 0x98, 0x90, 0x00, 0x46, 0xbb, 0xfe, 0xbb, 0x8e, 0x00, 0xd3, |
|
| 245 |
+ 0x02, 0xf9, 0x63, 0xa7, 0x9a, 0x7d, 0x70, 0x9c, 0x9e, 0x9f, 0xed, 0x0a, 0xaa, 0xf5, |
|
| 246 |
+ 0x49, 0x48, 0x75, 0x4f, 0x55, 0x98, 0x80, 0x92, 0xc9, 0xbd, 0xcf, 0x1f, 0xb6, 0x7c, |
|
| 247 |
+ 0xa4, 0x42, 0x2e, 0x67, 0x3d, 0x5b, 0xb6, 0xe5, 0x5a, 0xb8, 0x80, 0xdd, 0x38, 0x4b, |
|
| 248 |
+ 0xb0, 0x48, 0xd3, 0xcc, 0x51, 0xfb, 0x86, 0x9c, 0x15, 0x01, 0xd7, 0x9d, 0x92, 0x5c, |
|
| 249 |
+ 0x08, 0x8b, 0x33, 0xcd, 0xb9, 0x5a, 0x21, 0x41, 0xc8, 0x72, 0xab, 0x31, 0x74, 0x3c, |
|
| 250 |
+ 0x92, 0x92, 0xc2, 0x27, 0x9f, 0xe4, 0x19, 0xbf, 0x22, 0xc6, 0x23, 0xa7, 0xc7, 0x73, |
|
| 251 |
+ 0xb3, 0x58, 0x19, 0x28, 0x3b, 0x9e, 0x9f, 0xab, 0xdc, 0x4f, 0x7a, 0x9d, 0x70, 0x56, |
|
| 252 |
+ 0xad, 0xe4, 0xe1, 0x10, 0x63, 0xd4, 0x77, 0x3c, 0x7b, 0x76, 0xc6, 0x86, 0xba, 0xc6, |
|
| 253 |
+ 0x74, 0x34, |
|
| 254 |
+ ], |
|
| 255 |
+ ), |
|
| 256 |
+ ( |
|
| 257 |
+ 3, |
|
| 258 |
+ &[ |
|
| 259 |
+ 0x53, 0x79, 0x6e, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x20, 0x41, 0x50, 0x53, 0x20, |
|
| 260 |
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x65, |
|
| 261 |
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 262 |
+ 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x0c, |
|
| 263 |
+ ], |
|
| 264 |
+ &[ |
|
| 265 |
+ 0x8d, 0x1d, 0xb0, 0x9a, 0x90, 0xb0, 0xa2, 0xf0, 0x59, 0x7a, 0xc8, 0x17, 0x35, 0xc5, |
|
| 266 |
+ 0x4c, 0x08, 0x58, 0x24, 0xc6, 0x66, 0x5c, 0xd6, 0x6c, 0xc7, 0x19, 0x8d, 0xc2, 0xd1, |
|
| 267 |
+ 0x77, 0x9e, 0xc1, 0x2c, 0xff, 0x09, 0xfb, 0x09, 0x37, 0xf1, 0xaa, 0xbc, 0x53, 0xc9, |
|
| 268 |
+ 0xf1, 0x12, 0x34, 0x7f, 0xc4, 0x6b, 0xe2, 0x51, 0xd6, 0x6a, 0xc5, 0x6f, 0x4c, 0x7f, |
|
| 269 |
+ 0x3c, 0xa1, 0x4a, 0xe6, 0xcc, 0x73, 0xdd, 0xf9, 0x21, 0xff, 0xc3, 0xfd, 0x4c, 0xc4, |
|
| 270 |
+ 0x37, 0x80, 0xd8, 0x63, 0x0d, 0xfe, 0x85, 0x87, 0x1f, 0xd9, 0xbe, 0xc3, 0xc5, 0x5f, |
|
| 271 |
+ 0xf8, 0xcb, 0xe8, 0xf0, 0x71, 0xec, 0x2b, 0x54, 0x91, 0xd5, 0x80, 0xc9, 0xfe, 0x1f, |
|
| 272 |
+ 0x2e, 0x2a, 0xa5, 0xf4, 0x03, 0xf9, 0x15, 0x49, 0x68, 0x8b, 0x89, 0x09, 0xbb, 0x3d, |
|
| 273 |
+ 0xf7, 0x2c, 0x67, 0xbc, 0x3e, 0x41, 0x88, 0x7e, 0xad, 0x0d, 0xf8, 0x60, 0xd2, 0xa5, |
|
| 274 |
+ 0x00, 0x59, |
|
| 275 |
+ ], |
|
| 276 |
+ ), |
|
| 277 |
+]; |
| ... | ... |
@@ -1,52 +0,0 @@ |
| 1 |
-mod constants; |
|
| 2 |
- |
|
| 3 |
-use crate::{ActivationSignature, ActivationSigner, activation::sign_sha1};
|
|
| 4 |
-use constants::{CERTIFICATE_AUTHORITY_CHAIN, IDENTITIES, PUBLIC_EXPONENT};
|
|
| 5 |
-use rsa::{
|
|
| 6 |
- BigUint, RsaPrivateKey, |
|
| 7 |
- rand_core::{OsRng, RngCore},
|
|
| 8 |
-}; |
|
| 9 |
- |
|
| 10 |
-/// Signs activation requests using the embedded Windows activation identities. |
|
| 11 |
-pub struct WindowsActivationSigner {
|
|
| 12 |
- private_key: RsaPrivateKey, |
|
| 13 |
- certificate_chain: Vec<u8>, |
|
| 14 |
-} |
|
| 15 |
- |
|
| 16 |
-impl WindowsActivationSigner {
|
|
| 17 |
- /// Selects one of the ten identities, as Apple's Windows client does. |
|
| 18 |
- pub fn new() -> Self {
|
|
| 19 |
- let identity = &IDENTITIES[OsRng.next_u32() as usize % IDENTITIES.len()]; |
|
| 20 |
- let private_key = RsaPrivateKey::from_p_q( |
|
| 21 |
- BigUint::from_bytes_be(&identity.p), |
|
| 22 |
- BigUint::from_bytes_be(&identity.q), |
|
| 23 |
- PUBLIC_EXPONENT.into(), |
|
| 24 |
- ) |
|
| 25 |
- .expect("embedded activation primes must form a valid RSA key");
|
|
| 26 |
- let mut certificate_chain = |
|
| 27 |
- Vec::with_capacity(identity.certificate.len() + CERTIFICATE_AUTHORITY_CHAIN.len()); |
|
| 28 |
- certificate_chain.extend_from_slice(identity.certificate); |
|
| 29 |
- certificate_chain.extend_from_slice(CERTIFICATE_AUTHORITY_CHAIN); |
|
| 30 |
- Self {
|
|
| 31 |
- private_key, |
|
| 32 |
- certificate_chain, |
|
| 33 |
- } |
|
| 34 |
- } |
|
| 35 |
-} |
|
| 36 |
- |
|
| 37 |
-impl Default for WindowsActivationSigner {
|
|
| 38 |
- fn default() -> Self {
|
|
| 39 |
- Self::new() |
|
| 40 |
- } |
|
| 41 |
-} |
|
| 42 |
- |
|
| 43 |
-impl ActivationSigner for WindowsActivationSigner {
|
|
| 44 |
- type Error = rsa::Error; |
|
| 45 |
- |
|
| 46 |
- fn sign(&self, xml: &[u8]) -> Result<ActivationSignature, Self::Error> {
|
|
| 47 |
- Ok(ActivationSignature {
|
|
| 48 |
- signature: sign_sha1(&self.private_key, xml)?, |
|
| 49 |
- certificate_chain: self.certificate_chain.clone(), |
|
| 50 |
- }) |
|
| 51 |
- } |
|
| 52 |
-} |
| ... | ... |
@@ -1,850 +0,0 @@ |
| 1 |
-// Shared activation identities from APSDaemon_main.dll, iCloud 15.10.39.0 x64. |
|
| 2 |
-// See ../../docs/windows-signing.md for provenance and decoding details. |
|
| 3 |
-// Only p and q are needed; rsa reconstructs the remaining CRT components. |
|
| 4 |
- |
|
| 5 |
-pub(super) struct SigningIdentity {
|
|
| 6 |
- pub p: [u8; 64], |
|
| 7 |
- pub q: [u8; 64], |
|
| 8 |
- pub certificate: &'static [u8], |
|
| 9 |
-} |
|
| 10 |
- |
|
| 11 |
-pub(super) const PUBLIC_EXPONENT: u32 = 65537; |
|
| 12 |
- |
|
| 13 |
-pub(super) static IDENTITIES: [SigningIdentity; 10] = [ |
|
| 14 |
- // APN-Win identity 000001. |
|
| 15 |
- SigningIdentity {
|
|
| 16 |
- p: [ |
|
| 17 |
- 0xe2, 0x3a, 0xc7, 0xac, 0xca, 0xaf, 0xe6, 0x2d, 0x20, 0x82, 0x39, 0x46, 0xa6, 0xd7, |
|
| 18 |
- 0xf4, 0xf9, 0xa7, 0x2d, 0xd4, 0x0e, 0xbb, 0xed, 0x56, 0xf1, 0x39, 0x3c, 0x2b, 0x86, |
|
| 19 |
- 0x3d, 0x57, 0x65, 0xda, 0xec, 0x69, 0x88, 0xd1, 0x4e, 0x7e, 0xd2, 0x52, 0xe2, 0x31, |
|
| 20 |
- 0x75, 0x07, 0x38, 0x5f, 0xd7, 0x6d, 0x5a, 0xc5, 0xb5, 0x0d, 0xd3, 0x57, 0x05, 0xc0, |
|
| 21 |
- 0x62, 0xf6, 0x25, 0xae, 0x84, 0x89, 0x6a, 0x29, |
|
| 22 |
- ], |
|
| 23 |
- q: [ |
|
| 24 |
- 0xcf, 0xf3, 0x26, 0x9e, 0x30, 0x2d, 0x0b, 0xd4, 0x2a, 0x20, 0x16, 0x91, 0xcf, 0x01, |
|
| 25 |
- 0xb9, 0x38, 0x84, 0x01, 0xb9, 0xe3, 0xd8, 0xc5, 0x6f, 0x48, 0xb4, 0x53, 0x8e, 0x51, |
|
| 26 |
- 0xb4, 0x29, 0xb2, 0xab, 0x80, 0x91, 0x66, 0x2f, 0x39, 0x2a, 0xd8, 0xdc, 0x2c, 0xd6, |
|
| 27 |
- 0x23, 0xdd, 0x34, 0xce, 0x22, 0x34, 0x78, 0xd4, 0x19, 0xf5, 0x06, 0x32, 0x8e, 0x6a, |
|
| 28 |
- 0xc2, 0xb0, 0x8a, 0x71, 0xfd, 0x77, 0x77, 0xc3, |
|
| 29 |
- ], |
|
| 30 |
- certificate: &[ |
|
| 31 |
- 0x30, 0x82, 0x02, 0xc5, 0x30, 0x82, 0x02, 0x2e, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 32 |
- 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x10, 0x20, 0xaf, 0x00, 0x01, 0xaf, 0x00, 0x00, 0x01, |
|
| 33 |
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 34 |
- 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 35 |
- 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 36 |
- 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 37 |
- 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 38 |
- 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 39 |
- 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 40 |
- 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 41 |
- 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 42 |
- 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 43 |
- 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x30, 0x30, 0x30, 0x32, |
|
| 44 |
- 0x30, 0x31, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x31, 0x30, 0x31, 0x39, 0x30, 0x30, 0x30, |
|
| 45 |
- 0x32, 0x30, 0x31, 0x5a, 0x30, 0x68, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 46 |
- 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 47 |
- 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 48 |
- 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 49 |
- 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x2b, 0x30, 0x29, 0x06, |
|
| 50 |
- 0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x41, 0x50, 0x4e, 0x2d, 0x57, 0x69, 0x6e, 0x2e, |
|
| 51 |
- 0x33, 0x33, 0x33, 0x33, 0x41, 0x46, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x41, 0x46, |
|
| 52 |
- 0x30, 0x30, 0x30, 0x31, 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x81, |
|
| 53 |
- 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, |
|
| 54 |
- 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xb7, |
|
| 55 |
- 0xc4, 0x67, 0x60, 0xc5, 0x66, 0x57, 0x0a, 0xb2, 0xb6, 0x4e, 0x88, 0x6e, 0xab, 0xb5, |
|
| 56 |
- 0x40, 0x47, 0x92, 0x5f, 0x01, 0x67, 0xa1, 0x9c, 0x29, 0xa7, 0x4d, 0x56, 0x0d, 0x7f, |
|
| 57 |
- 0x05, 0x8d, 0x1c, 0xff, 0x95, 0x8a, 0x26, 0x78, 0xa8, 0xb2, 0xf1, 0xd4, 0x86, 0x55, |
|
| 58 |
- 0xc6, 0x09, 0x5a, 0x1c, 0xe8, 0x31, 0x20, 0x68, 0x5b, 0x55, 0x4d, 0x1c, 0x81, 0x12, |
|
| 59 |
- 0x87, 0x2f, 0x2f, 0x00, 0x6d, 0x6e, 0x18, 0xab, 0xb7, 0xdd, 0xf7, 0x8c, 0x92, 0x6d, |
|
| 60 |
- 0x7f, 0xbb, 0x69, 0x8d, 0x7c, 0x35, 0xbf, 0x8e, 0xcb, 0x6f, 0x4c, 0x27, 0x06, 0x2c, |
|
| 61 |
- 0x72, 0xa8, 0x92, 0xe7, 0x4f, 0x0a, 0xa7, 0xe3, 0x6d, 0xcf, 0x9b, 0xff, 0xd2, 0xb4, |
|
| 62 |
- 0x84, 0xc1, 0x2b, 0x52, 0xd7, 0x8a, 0xd0, 0xeb, 0x72, 0x65, 0x3c, 0x9a, 0xe7, 0x2b, |
|
| 63 |
- 0xaa, 0x83, 0x4c, 0x90, 0x5d, 0xbc, 0x95, 0x6c, 0x30, 0x33, 0x6e, 0xb3, 0x13, 0xec, |
|
| 64 |
- 0x3b, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, |
|
| 65 |
- 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, |
|
| 66 |
- 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, |
|
| 67 |
- 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xdd, 0x56, 0x61, 0x8e, 0x48, |
|
| 68 |
- 0xe7, 0x51, 0x79, 0x9f, 0x85, 0xac, 0x1e, 0xb3, 0xf0, 0x98, 0x7a, 0xdc, 0xf3, 0x26, |
|
| 69 |
- 0x7a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, |
|
| 70 |
- 0xfa, 0x0d, 0xd4, 0x11, 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, |
|
| 71 |
- 0xdd, 0x63, 0x62, 0x07, 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, |
|
| 72 |
- 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x2a, 0xae, 0xec, |
|
| 73 |
- 0x81, 0xc7, 0x8d, 0xa5, 0xf5, 0x51, 0xb4, 0xee, 0x82, 0x0f, 0xd4, 0xa7, 0x08, 0x83, |
|
| 74 |
- 0xba, 0x48, 0x04, 0x6d, 0x85, 0xbe, 0x69, 0x9a, 0xfa, 0x73, 0x59, 0x03, 0xe0, 0x53, |
|
| 75 |
- 0xc1, 0xad, 0x54, 0x9b, 0x90, 0x16, 0x5e, 0xf3, 0x9e, 0x5d, 0xa2, 0x7b, 0x75, 0xd9, |
|
| 76 |
- 0x85, 0x7b, 0xeb, 0x9a, 0xeb, 0x43, 0xf1, 0x24, 0x59, 0x05, 0x0b, 0xc0, 0x03, 0x0b, |
|
| 77 |
- 0xb1, 0x99, 0x75, 0xab, 0x71, 0xd8, 0x7c, 0x4e, 0x02, 0x92, 0xf1, 0x54, 0x95, 0x89, |
|
| 78 |
- 0x27, 0x75, 0x38, 0xf5, 0x96, 0xcc, 0xc0, 0xa8, 0x76, 0x6c, 0xf3, 0xb6, 0xa3, 0xfe, |
|
| 79 |
- 0x9d, 0x1f, 0x92, 0x1d, 0x77, 0x1c, 0xe0, 0xc8, 0x39, 0x60, 0x25, 0xfc, 0x35, 0xb3, |
|
| 80 |
- 0x0c, 0x95, 0x0c, 0xf2, 0x90, 0xf5, 0x4f, 0x23, 0xd0, 0xea, 0x78, 0x8f, 0x55, 0x0c, |
|
| 81 |
- 0x9e, 0xc7, 0x76, 0x6e, 0x71, 0x05, 0xec, 0x88, 0x6c, 0x5f, 0x90, 0xb2, 0xb3, |
|
| 82 |
- ], |
|
| 83 |
- }, |
|
| 84 |
- // APN-Win identity 000002. |
|
| 85 |
- SigningIdentity {
|
|
| 86 |
- p: [ |
|
| 87 |
- 0xfd, 0xce, 0x1a, 0x02, 0x08, 0x1e, 0x5f, 0xb3, 0x0d, 0xd7, 0x7b, 0x50, 0x92, 0xd4, |
|
| 88 |
- 0xde, 0xc5, 0x9a, 0x2b, 0x47, 0x8d, 0xd6, 0xff, 0x24, 0x27, 0x04, 0x5a, 0x53, 0xe4, |
|
| 89 |
- 0xa0, 0x98, 0xad, 0xdd, 0xd6, 0x08, 0xc6, 0x96, 0x3e, 0x36, 0x81, 0x19, 0xac, 0x7c, |
|
| 90 |
- 0x6b, 0x37, 0x5d, 0xfe, 0x9b, 0xa6, 0x0b, 0xba, 0x11, 0x56, 0xf0, 0x6d, 0xff, 0x1f, |
|
| 91 |
- 0x1a, 0x79, 0x1a, 0x51, 0x13, 0xb8, 0x54, 0x37, |
|
| 92 |
- ], |
|
| 93 |
- q: [ |
|
| 94 |
- 0xf5, 0xea, 0x55, 0x5b, 0x42, 0x99, 0x5f, 0x92, 0x2b, 0x38, 0x9e, 0xa3, 0x85, 0x90, |
|
| 95 |
- 0x68, 0x37, 0x95, 0xb5, 0x1b, 0x5b, 0xa2, 0x87, 0xcb, 0x48, 0xb8, 0x72, 0x9f, 0xa3, |
|
| 96 |
- 0x94, 0x4a, 0xfa, 0x0b, 0x65, 0x4a, 0xa4, 0x11, 0xff, 0xfa, 0xaf, 0x50, 0x29, 0x95, |
|
| 97 |
- 0xf2, 0x59, 0x2c, 0xb9, 0x0d, 0x98, 0x9a, 0xb3, 0xc5, 0xbd, 0x31, 0xee, 0x15, 0x67, |
|
| 98 |
- 0x83, 0xbb, 0x0e, 0x75, 0x6a, 0x54, 0xdb, 0xb5, |
|
| 99 |
- ], |
|
| 100 |
- certificate: &[ |
|
| 101 |
- 0x30, 0x82, 0x02, 0xc5, 0x30, 0x82, 0x02, 0x2e, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 102 |
- 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x10, 0x20, 0xaf, 0x00, 0x01, 0xaf, 0x00, 0x00, 0x02, |
|
| 103 |
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 104 |
- 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 105 |
- 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 106 |
- 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 107 |
- 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 108 |
- 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 109 |
- 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 110 |
- 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 111 |
- 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 112 |
- 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 113 |
- 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x30, 0x30, 0x30, 0x32, |
|
| 114 |
- 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x31, 0x30, 0x31, 0x39, 0x30, 0x30, 0x30, |
|
| 115 |
- 0x32, 0x30, 0x32, 0x5a, 0x30, 0x68, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 116 |
- 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 117 |
- 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 118 |
- 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 119 |
- 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x2b, 0x30, 0x29, 0x06, |
|
| 120 |
- 0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x41, 0x50, 0x4e, 0x2d, 0x57, 0x69, 0x6e, 0x2e, |
|
| 121 |
- 0x33, 0x33, 0x33, 0x33, 0x41, 0x46, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x41, 0x46, |
|
| 122 |
- 0x30, 0x30, 0x30, 0x31, 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x32, 0x30, 0x81, |
|
| 123 |
- 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, |
|
| 124 |
- 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xf3, |
|
| 125 |
- 0xce, 0x91, 0xe7, 0xa0, 0x8d, 0x9a, 0x67, 0x45, 0xd6, 0x5d, 0xf3, 0xe8, 0xa3, 0x4f, |
|
| 126 |
- 0xca, 0x63, 0xfd, 0xf0, 0x7c, 0x8d, 0xae, 0xfe, 0x8d, 0xdf, 0x52, 0x77, 0x1b, 0x6f, |
|
| 127 |
- 0x22, 0x51, 0xfa, 0x1d, 0x01, 0xae, 0x70, 0x5f, 0x90, 0x15, 0x2d, 0xf6, 0xd3, 0x31, |
|
| 128 |
- 0x17, 0xf0, 0xb1, 0xb8, 0x48, 0xd3, 0xf9, 0xa7, 0x1d, 0x58, 0x48, 0xbf, 0xf0, 0x2f, |
|
| 129 |
- 0x50, 0x9b, 0x1e, 0xa9, 0x65, 0x62, 0x5d, 0xf2, 0xd4, 0xfe, 0xb4, 0x3d, 0xcd, 0x32, |
|
| 130 |
- 0x6d, 0x75, 0xab, 0x50, 0xd0, 0x88, 0xbe, 0xef, 0x13, 0x42, 0xb3, 0xa1, 0xa6, 0x97, |
|
| 131 |
- 0x6e, 0xd7, 0x10, 0xb0, 0xd7, 0xfb, 0xda, 0x3b, 0x8b, 0xba, 0xbb, 0xdd, 0x5e, 0x36, |
|
| 132 |
- 0x67, 0x94, 0x8d, 0xca, 0x4d, 0xc8, 0x34, 0xb6, 0x72, 0xf7, 0xe1, 0xdb, 0xfe, 0x46, |
|
| 133 |
- 0x58, 0x07, 0xcc, 0xfd, 0x7e, 0x67, 0x46, 0x46, 0xee, 0x41, 0xaf, 0x09, 0x6a, 0x97, |
|
| 134 |
- 0xe3, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, |
|
| 135 |
- 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, |
|
| 136 |
- 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, |
|
| 137 |
- 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xa4, 0xd6, 0xfe, 0xac, 0x1f, |
|
| 138 |
- 0x91, 0xe9, 0xe0, 0x7b, 0x17, 0x15, 0x88, 0xda, 0xcd, 0x43, 0xdc, 0x48, 0x22, 0x52, |
|
| 139 |
- 0xba, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, |
|
| 140 |
- 0xfa, 0x0d, 0xd4, 0x11, 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, |
|
| 141 |
- 0xdd, 0x63, 0x62, 0x07, 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, |
|
| 142 |
- 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x80, 0x3d, 0x5c, |
|
| 143 |
- 0xb1, 0x79, 0xb4, 0x2e, 0x24, 0xd4, 0x75, 0x9f, 0xe4, 0x5c, 0x8f, 0x3a, 0x4c, 0x16, |
|
| 144 |
- 0xa7, 0x2a, 0x74, 0xbd, 0xce, 0x5b, 0xca, 0x75, 0xb4, 0x02, 0x90, 0xd6, 0xd3, 0xd2, |
|
| 145 |
- 0xfb, 0x4d, 0xb8, 0xa0, 0xc6, 0xa4, 0xd6, 0x05, 0x39, 0x15, 0xaa, 0x69, 0x54, 0x79, |
|
| 146 |
- 0xc7, 0xe1, 0xc6, 0x3e, 0x1a, 0xb0, 0xd4, 0xaf, 0x39, 0xb8, 0x22, 0xef, 0xc3, 0xd6, |
|
| 147 |
- 0xf7, 0xaf, 0x45, 0xb5, 0xe2, 0xda, 0x5b, 0x3c, 0xb6, 0xc8, 0x8c, 0x0d, 0xd4, 0xb5, |
|
| 148 |
- 0xc9, 0x57, 0xa0, 0xc4, 0x7c, 0xaf, 0x9e, 0x72, 0x60, 0x9b, 0xaa, 0xf0, 0xff, 0x2f, |
|
| 149 |
- 0x3e, 0x62, 0xf8, 0x3c, 0xb4, 0xfe, 0xe2, 0x58, 0x00, 0xeb, 0x16, 0x21, 0x36, 0x47, |
|
| 150 |
- 0x6d, 0x60, 0x37, 0x9c, 0x7a, 0xe9, 0xb1, 0x58, 0x47, 0x53, 0x76, 0x2e, 0x3e, 0x6e, |
|
| 151 |
- 0x91, 0xde, 0x92, 0x1e, 0xea, 0x3f, 0xd4, 0x2c, 0xb9, 0xc3, 0x67, 0x2f, 0x07, |
|
| 152 |
- ], |
|
| 153 |
- }, |
|
| 154 |
- // APN-Win identity 000003. |
|
| 155 |
- SigningIdentity {
|
|
| 156 |
- p: [ |
|
| 157 |
- 0xee, 0x6e, 0x95, 0xa0, 0x19, 0x46, 0xd8, 0x80, 0xc5, 0x7d, 0x15, 0x56, 0x90, 0x5f, |
|
| 158 |
- 0xc5, 0x2c, 0x4a, 0x55, 0xb5, 0xee, 0x85, 0x0d, 0xb8, 0x46, 0x00, 0xdc, 0xf9, 0xd6, |
|
| 159 |
- 0xaf, 0xc8, 0xdf, 0xa1, 0x79, 0x9f, 0xff, 0xc2, 0x6e, 0x84, 0xa8, 0xcb, 0x9f, 0x50, |
|
| 160 |
- 0xa8, 0x41, 0xeb, 0xea, 0xf8, 0xd2, 0xb3, 0xe0, 0x22, 0x16, 0x29, 0x84, 0xc0, 0x55, |
|
| 161 |
- 0x3b, 0xef, 0xb1, 0xef, 0xa4, 0xbc, 0x4c, 0x07, |
|
| 162 |
- ], |
|
| 163 |
- q: [ |
|
| 164 |
- 0xd6, 0x6d, 0xcc, 0x1c, 0x89, 0xf3, 0x37, 0x27, 0xef, 0x93, 0xde, 0x23, 0x39, 0x6d, |
|
| 165 |
- 0xea, 0x18, 0xb6, 0x0b, 0xe1, 0x63, 0x27, 0x26, 0x89, 0x0b, 0x69, 0xaa, 0xa8, 0x0f, |
|
| 166 |
- 0xc6, 0x97, 0xc3, 0x8c, 0xf3, 0x7a, 0xd0, 0xfd, 0x44, 0x97, 0xae, 0x2c, 0x57, 0x33, |
|
| 167 |
- 0x27, 0xc5, 0xcd, 0xb7, 0x4d, 0xe6, 0x18, 0xc3, 0xf1, 0xd1, 0xc0, 0x98, 0x51, 0xc5, |
|
| 168 |
- 0xd0, 0xfe, 0xc5, 0xcb, 0x4f, 0x47, 0xad, 0xe5, |
|
| 169 |
- ], |
|
| 170 |
- certificate: &[ |
|
| 171 |
- 0x30, 0x82, 0x02, 0xc5, 0x30, 0x82, 0x02, 0x2e, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 172 |
- 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x10, 0x20, 0xaf, 0x00, 0x01, 0xaf, 0x00, 0x00, 0x03, |
|
| 173 |
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 174 |
- 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 175 |
- 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 176 |
- 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 177 |
- 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 178 |
- 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 179 |
- 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 180 |
- 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 181 |
- 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 182 |
- 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 183 |
- 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x30, 0x30, 0x30, 0x32, |
|
| 184 |
- 0x30, 0x32, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x31, 0x30, 0x31, 0x39, 0x30, 0x30, 0x30, |
|
| 185 |
- 0x32, 0x30, 0x32, 0x5a, 0x30, 0x68, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 186 |
- 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 187 |
- 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 188 |
- 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 189 |
- 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x2b, 0x30, 0x29, 0x06, |
|
| 190 |
- 0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x41, 0x50, 0x4e, 0x2d, 0x57, 0x69, 0x6e, 0x2e, |
|
| 191 |
- 0x33, 0x33, 0x33, 0x33, 0x41, 0x46, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x41, 0x46, |
|
| 192 |
- 0x30, 0x30, 0x30, 0x31, 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x33, 0x30, 0x81, |
|
| 193 |
- 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, |
|
| 194 |
- 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xc7, |
|
| 195 |
- 0xb6, 0xb4, 0x44, 0x3e, 0x1b, 0xa2, 0x36, 0xb4, 0xd1, 0x00, 0x91, 0x4e, 0x58, 0xd5, |
|
| 196 |
- 0x5c, 0x81, 0xe6, 0x56, 0x6e, 0x06, 0xee, 0x13, 0x15, 0x69, 0x3e, 0xe3, 0x57, 0xf6, |
|
| 197 |
- 0x66, 0xbf, 0xf1, 0x30, 0xa8, 0xbd, 0xbd, 0xed, 0x50, 0xe2, 0xed, 0x46, 0xee, 0xcb, |
|
| 198 |
- 0x64, 0x8a, 0x43, 0xbc, 0xdf, 0x47, 0x16, 0x41, 0x56, 0x70, 0x87, 0xd4, 0xa0, 0x66, |
|
| 199 |
- 0x8a, 0x7d, 0xce, 0x48, 0x7c, 0x01, 0x8f, 0xa5, 0x5f, 0x9c, 0xa3, 0x23, 0x8d, 0x36, |
|
| 200 |
- 0x94, 0x48, 0xe6, 0x38, 0x7d, 0x1b, 0xf4, 0x59, 0xce, 0xb3, 0x05, 0xed, 0x69, 0x43, |
|
| 201 |
- 0x02, 0x68, 0xc2, 0x4e, 0x02, 0x9d, 0x9f, 0x0e, 0x94, 0x6a, 0xe6, 0x26, 0x57, 0x38, |
|
| 202 |
- 0xab, 0x1e, 0xcd, 0xea, 0xc1, 0x94, 0x77, 0xf0, 0x30, 0x0d, 0xc4, 0xe9, 0x20, 0x7e, |
|
| 203 |
- 0x40, 0xb8, 0x3b, 0x78, 0x96, 0xe8, 0xeb, 0x8c, 0xb9, 0x95, 0xed, 0xda, 0xc1, 0xbd, |
|
| 204 |
- 0x43, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, |
|
| 205 |
- 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, |
|
| 206 |
- 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, |
|
| 207 |
- 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x28, 0xe6, 0xd6, 0x9e, 0x1a, |
|
| 208 |
- 0x0b, 0xf5, 0x0e, 0x13, 0x30, 0x1e, 0x50, 0x26, 0xbd, 0x64, 0x08, 0x2c, 0x08, 0xdb, |
|
| 209 |
- 0x0a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, |
|
| 210 |
- 0xfa, 0x0d, 0xd4, 0x11, 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, |
|
| 211 |
- 0xdd, 0x63, 0x62, 0x07, 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, |
|
| 212 |
- 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x46, 0x5c, 0xb9, |
|
| 213 |
- 0xe1, 0xed, 0xea, 0xb9, 0x72, 0x9b, 0x82, 0xbd, 0xc5, 0xef, 0xed, 0x6d, 0x00, 0xf1, |
|
| 214 |
- 0x24, 0xd3, 0x06, 0x68, 0x1f, 0x63, 0x54, 0xea, 0xde, 0x25, 0x56, 0x97, 0xd6, 0x05, |
|
| 215 |
- 0xb3, 0x92, 0xbb, 0xc7, 0xc3, 0xa9, 0xf2, 0xef, 0xd2, 0x85, 0x2e, 0x18, 0x2e, 0x2d, |
|
| 216 |
- 0x22, 0x1a, 0xf1, 0x48, 0x9d, 0x03, 0xe6, 0xc5, 0x18, 0x00, 0xdc, 0xa0, 0xda, 0x1a, |
|
| 217 |
- 0x27, 0x87, 0x41, 0x16, 0xa0, 0xe8, 0xfa, 0x31, 0x28, 0xd9, 0x4b, 0xf6, 0xd0, 0x02, |
|
| 218 |
- 0xec, 0x09, 0x75, 0xc6, 0xd0, 0x1e, 0x9f, 0x88, 0x7d, 0x5c, 0xb6, 0x45, 0x0d, 0x26, |
|
| 219 |
- 0x3d, 0x09, 0x33, 0x20, 0x6e, 0x92, 0x2d, 0xe9, 0xfc, 0x40, 0x0a, 0x7d, 0xc2, 0x9a, |
|
| 220 |
- 0xcb, 0xa4, 0x88, 0x8f, 0xef, 0xa4, 0xa3, 0x16, 0x6b, 0x29, 0x71, 0xfe, 0x5a, 0xf2, |
|
| 221 |
- 0x7f, 0x37, 0xec, 0xa9, 0x9f, 0x79, 0x8e, 0x74, 0x28, 0x26, 0x89, 0xda, 0xf3, |
|
| 222 |
- ], |
|
| 223 |
- }, |
|
| 224 |
- // APN-Win identity 000004. |
|
| 225 |
- SigningIdentity {
|
|
| 226 |
- p: [ |
|
| 227 |
- 0xf3, 0xca, 0x6a, 0x26, 0xb4, 0x29, 0xd8, 0xb4, 0x1d, 0xc6, 0x91, 0x08, 0xe2, 0xfa, |
|
| 228 |
- 0x6a, 0x1f, 0xd8, 0x55, 0xd6, 0x58, 0xcb, 0x1a, 0xac, 0xb7, 0xcf, 0x32, 0xdb, 0x91, |
|
| 229 |
- 0xba, 0xa0, 0xbc, 0x44, 0x04, 0x39, 0xd8, 0x5c, 0xe9, 0xe0, 0x36, 0xce, 0x3e, 0xe3, |
|
| 230 |
- 0x87, 0x4f, 0xd1, 0xbf, 0x83, 0xaa, 0x1d, 0xb8, 0x12, 0x18, 0x6e, 0x9a, 0x20, 0xe1, |
|
| 231 |
- 0x95, 0x5f, 0x51, 0xbe, 0xed, 0xb8, 0xcc, 0x43, |
|
| 232 |
- ], |
|
| 233 |
- q: [ |
|
| 234 |
- 0xe9, 0x5a, 0x35, 0x40, 0x29, 0x81, 0x33, 0x5d, 0x59, 0x76, 0xc2, 0xfa, 0x9e, 0xdf, |
|
| 235 |
- 0x20, 0x25, 0xcf, 0xac, 0xc4, 0xfa, 0x5f, 0x29, 0xdc, 0x2c, 0x56, 0xc4, 0x26, 0x95, |
|
| 236 |
- 0x05, 0xb8, 0x54, 0x71, 0x93, 0xa7, 0xa6, 0x42, 0x5a, 0x66, 0x24, 0x90, 0xd8, 0xd7, |
|
| 237 |
- 0x60, 0x59, 0xaf, 0x48, 0xce, 0xeb, 0x12, 0xe7, 0xad, 0x78, 0xed, 0x8d, 0xa4, 0xe5, |
|
| 238 |
- 0xc9, 0x4d, 0xc4, 0x02, 0x01, 0x17, 0x44, 0x01, |
|
| 239 |
- ], |
|
| 240 |
- certificate: &[ |
|
| 241 |
- 0x30, 0x82, 0x02, 0xc5, 0x30, 0x82, 0x02, 0x2e, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 242 |
- 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x10, 0x20, 0xaf, 0x00, 0x01, 0xaf, 0x00, 0x00, 0x04, |
|
| 243 |
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 244 |
- 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 245 |
- 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 246 |
- 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 247 |
- 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 248 |
- 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 249 |
- 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 250 |
- 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 251 |
- 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 252 |
- 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 253 |
- 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x30, 0x30, 0x30, 0x32, |
|
| 254 |
- 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x31, 0x30, 0x31, 0x39, 0x30, 0x30, 0x30, |
|
| 255 |
- 0x32, 0x30, 0x33, 0x5a, 0x30, 0x68, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 256 |
- 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 257 |
- 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 258 |
- 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 259 |
- 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x2b, 0x30, 0x29, 0x06, |
|
| 260 |
- 0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x41, 0x50, 0x4e, 0x2d, 0x57, 0x69, 0x6e, 0x2e, |
|
| 261 |
- 0x33, 0x33, 0x33, 0x33, 0x41, 0x46, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x41, 0x46, |
|
| 262 |
- 0x30, 0x30, 0x30, 0x31, 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x30, 0x81, |
|
| 263 |
- 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, |
|
| 264 |
- 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xde, |
|
| 265 |
- 0x39, 0x22, 0x7c, 0x8d, 0xb0, 0x6e, 0xd5, 0xbb, 0xfb, 0xe3, 0xa2, 0xe8, 0x2a, 0x38, |
|
| 266 |
- 0xe5, 0x96, 0x31, 0x44, 0xc7, 0xab, 0x34, 0xd7, 0xe0, 0x5a, 0xde, 0xfd, 0x29, 0x5c, |
|
| 267 |
- 0xa3, 0x10, 0x38, 0xd8, 0x27, 0x37, 0x65, 0xaf, 0x35, 0x1b, 0x23, 0x20, 0x5c, 0x88, |
|
| 268 |
- 0xa2, 0xb7, 0x12, 0xa6, 0xcd, 0x9b, 0x92, 0x29, 0x92, 0x14, 0xf0, 0xde, 0x58, 0xad, |
|
| 269 |
- 0x80, 0xee, 0x01, 0xe1, 0xe4, 0xf7, 0x59, 0x09, 0x15, 0x33, 0x26, 0x5e, 0xbd, 0x3e, |
|
| 270 |
- 0xe9, 0x2f, 0x83, 0xed, 0x5d, 0xa8, 0x4b, 0x8a, 0x48, 0x45, 0xeb, 0xd4, 0x81, 0xc4, |
|
| 271 |
- 0xff, 0x2d, 0x5d, 0xcf, 0x57, 0x7c, 0x18, 0x48, 0x70, 0xf2, 0x0f, 0x64, 0xc2, 0x02, |
|
| 272 |
- 0xe2, 0x09, 0x13, 0x1e, 0x54, 0x90, 0xd8, 0xda, 0x58, 0x64, 0xd7, 0xed, 0xa3, 0x69, |
|
| 273 |
- 0xa7, 0x50, 0xcd, 0x6a, 0xa8, 0xe5, 0xd5, 0x61, 0x27, 0x01, 0xd0, 0xa0, 0xff, 0x98, |
|
| 274 |
- 0x43, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, |
|
| 275 |
- 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, |
|
| 276 |
- 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, |
|
| 277 |
- 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x55, 0xf7, 0x3a, 0x58, 0x9e, |
|
| 278 |
- 0x81, 0x1d, 0x7c, 0x17, 0x1c, 0x0b, 0xcf, 0x5c, 0x78, 0x0c, 0xa2, 0x49, 0x5e, 0xc9, |
|
| 279 |
- 0x4b, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, |
|
| 280 |
- 0xfa, 0x0d, 0xd4, 0x11, 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, |
|
| 281 |
- 0xdd, 0x63, 0x62, 0x07, 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, |
|
| 282 |
- 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x92, 0x7e, 0xf0, |
|
| 283 |
- 0x9d, 0xc5, 0xbf, 0x3a, 0x1b, 0xd5, 0x6e, 0x32, 0x28, 0xa4, 0x0a, 0x78, 0x9e, 0x49, |
|
| 284 |
- 0x26, 0x4c, 0xb6, 0x15, 0x6a, 0xf4, 0x03, 0xed, 0x19, 0x3b, 0x13, 0xa8, 0x78, 0x04, |
|
| 285 |
- 0x6e, 0xea, 0x5d, 0xd6, 0x3c, 0xa7, 0xdf, 0x68, 0xbf, 0x26, 0x73, 0x19, 0xda, 0xe0, |
|
| 286 |
- 0xfb, 0xb7, 0xa6, 0x2d, 0xbc, 0xf6, 0x88, 0x01, 0xa1, 0xa7, 0x2c, 0x24, 0x45, 0x10, |
|
| 287 |
- 0xb3, 0xdc, 0x96, 0x99, 0xac, 0x65, 0x16, 0xb9, 0x85, 0x5c, 0xfe, 0x75, 0xfc, 0x6a, |
|
| 288 |
- 0x3c, 0x99, 0x83, 0x18, 0x06, 0x22, 0x72, 0xa1, 0xbd, 0xdd, 0xbc, 0xd8, 0x24, 0x64, |
|
| 289 |
- 0x48, 0x7c, 0x52, 0xa9, 0x4c, 0xae, 0xc8, 0x18, 0x1e, 0xd0, 0x2c, 0x8b, 0xfb, 0xe0, |
|
| 290 |
- 0x01, 0xab, 0xcc, 0x4d, 0x9f, 0x80, 0x10, 0xcb, 0x46, 0xea, 0xa9, 0xab, 0x0e, 0xfe, |
|
| 291 |
- 0x75, 0x23, 0x61, 0xb2, 0x72, 0x04, 0x52, 0x7c, 0x40, 0x27, 0x34, 0x05, 0x1a, |
|
| 292 |
- ], |
|
| 293 |
- }, |
|
| 294 |
- // APN-Win identity 000005. |
|
| 295 |
- SigningIdentity {
|
|
| 296 |
- p: [ |
|
| 297 |
- 0xf5, 0x5d, 0x32, 0x17, 0xc3, 0xc2, 0x52, 0x4b, 0x88, 0x00, 0xb4, 0xe7, 0x0e, 0xa7, |
|
| 298 |
- 0x96, 0xf3, 0x88, 0xeb, 0x59, 0xe3, 0x62, 0xb8, 0xb9, 0x8d, 0xf2, 0x6b, 0x9e, 0xc7, |
|
| 299 |
- 0x39, 0x78, 0x84, 0xa4, 0x3f, 0x08, 0x25, 0xc7, 0x6d, 0x96, 0xd5, 0x3f, 0x23, 0x71, |
|
| 300 |
- 0x86, 0x19, 0x0c, 0x7f, 0xc6, 0x5a, 0x9f, 0xdb, 0x7b, 0xb3, 0x6e, 0xd5, 0x6f, 0xde, |
|
| 301 |
- 0xcf, 0xb5, 0x33, 0xac, 0x0c, 0xfa, 0xa1, 0xff, |
|
| 302 |
- ], |
|
| 303 |
- q: [ |
|
| 304 |
- 0xdc, 0x8d, 0xae, 0x74, 0x7e, 0x51, 0xf0, 0x39, 0xc5, 0x12, 0xd1, 0x4d, 0x45, 0x41, |
|
| 305 |
- 0xf4, 0x71, 0x85, 0xf4, 0x00, 0xc5, 0xff, 0xda, 0x6e, 0x98, 0xbb, 0x6c, 0x86, 0x8c, |
|
| 306 |
- 0x2c, 0xd6, 0x30, 0xb3, 0x8d, 0x34, 0xd3, 0x43, 0x50, 0xfc, 0x0c, 0x85, 0x56, 0xc5, |
|
| 307 |
- 0x01, 0xa6, 0x86, 0x98, 0x05, 0x49, 0xc7, 0xb9, 0x7d, 0x8b, 0x61, 0xd9, 0xe1, 0x8a, |
|
| 308 |
- 0x22, 0xa2, 0xa7, 0x8d, 0x18, 0x21, 0x55, 0xab, |
|
| 309 |
- ], |
|
| 310 |
- certificate: &[ |
|
| 311 |
- 0x30, 0x82, 0x02, 0xc5, 0x30, 0x82, 0x02, 0x2e, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 312 |
- 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x10, 0x20, 0xaf, 0x00, 0x01, 0xaf, 0x00, 0x00, 0x05, |
|
| 313 |
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 314 |
- 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 315 |
- 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 316 |
- 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 317 |
- 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 318 |
- 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 319 |
- 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 320 |
- 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 321 |
- 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 322 |
- 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 323 |
- 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x30, 0x30, 0x30, 0x32, |
|
| 324 |
- 0x30, 0x33, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x31, 0x30, 0x31, 0x39, 0x30, 0x30, 0x30, |
|
| 325 |
- 0x32, 0x30, 0x33, 0x5a, 0x30, 0x68, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 326 |
- 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 327 |
- 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 328 |
- 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 329 |
- 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x2b, 0x30, 0x29, 0x06, |
|
| 330 |
- 0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x41, 0x50, 0x4e, 0x2d, 0x57, 0x69, 0x6e, 0x2e, |
|
| 331 |
- 0x33, 0x33, 0x33, 0x33, 0x41, 0x46, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x41, 0x46, |
|
| 332 |
- 0x30, 0x30, 0x30, 0x31, 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x30, 0x81, |
|
| 333 |
- 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, |
|
| 334 |
- 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xd3, |
|
| 335 |
- 0x63, 0xe2, 0x96, 0x02, 0xab, 0x11, 0xf6, 0x4d, 0xee, 0xe9, 0x07, 0x3e, 0x02, 0xba, |
|
| 336 |
- 0xae, 0x14, 0x15, 0x42, 0xfe, 0xad, 0xdc, 0xd8, 0x76, 0x34, 0xf0, 0x7a, 0x0a, 0xfa, |
|
| 337 |
- 0xf0, 0x1e, 0x54, 0x19, 0xb5, 0xdd, 0x73, 0xb0, 0xdc, 0xc7, 0xd4, 0xcb, 0xf5, 0xa1, |
|
| 338 |
- 0x2c, 0x93, 0x5e, 0x32, 0x6a, 0xbd, 0x66, 0x88, 0x20, 0xb2, 0x98, 0x39, 0xd0, 0xed, |
|
| 339 |
- 0x37, 0x96, 0x31, 0x4a, 0xba, 0xe3, 0xe8, 0x25, 0x66, 0x5c, 0x65, 0x36, 0xe8, 0xbd, |
|
| 340 |
- 0x81, 0x23, 0xc1, 0x9d, 0xef, 0x78, 0x93, 0x7d, 0x19, 0xc0, 0x93, 0x2a, 0x8f, 0x82, |
|
| 341 |
- 0xed, 0x00, 0x74, 0x10, 0x6e, 0xc8, 0xf3, 0x95, 0x4d, 0xff, 0x9b, 0xb6, 0x59, 0x46, |
|
| 342 |
- 0x58, 0x3b, 0xe0, 0xa1, 0xee, 0x63, 0x3c, 0xe4, 0xb3, 0x5c, 0xc1, 0xbd, 0xea, 0x05, |
|
| 343 |
- 0xa2, 0x7b, 0xd8, 0x95, 0xa8, 0x1c, 0xce, 0xb9, 0xad, 0x62, 0x2d, 0xad, 0x12, 0xe0, |
|
| 344 |
- 0x55, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, |
|
| 345 |
- 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, |
|
| 346 |
- 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, |
|
| 347 |
- 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x31, 0xb5, 0x80, 0xdd, 0x93, |
|
| 348 |
- 0x24, 0x80, 0x5f, 0x30, 0x80, 0x6c, 0x40, 0x44, 0xcd, 0x85, 0x85, 0x6e, 0x87, 0x48, |
|
| 349 |
- 0xf7, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, |
|
| 350 |
- 0xfa, 0x0d, 0xd4, 0x11, 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, |
|
| 351 |
- 0xdd, 0x63, 0x62, 0x07, 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, |
|
| 352 |
- 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x96, 0xd7, 0xdf, |
|
| 353 |
- 0x77, 0x6e, 0x25, 0x6a, 0x26, 0xbe, 0xe9, 0x4b, 0xb0, 0xc1, 0x88, 0xc6, 0x76, 0x39, |
|
| 354 |
- 0x84, 0x15, 0x17, 0xbf, 0x50, 0x74, 0x95, 0x02, 0xcf, 0x02, 0xc4, 0x3c, 0x79, 0xde, |
|
| 355 |
- 0xec, 0x36, 0x2f, 0x1d, 0x31, 0x4c, 0xcd, 0xaf, 0x69, 0x73, 0x32, 0xac, 0x1e, 0xa3, |
|
| 356 |
- 0xcd, 0x08, 0x1a, 0xed, 0x58, 0xc9, 0xfc, 0xb7, 0x0e, 0x5d, 0x56, 0x6f, 0xef, 0xcd, |
|
| 357 |
- 0x4e, 0xf7, 0xf9, 0x71, 0x46, 0x4b, 0x23, 0x09, 0x61, 0x73, 0x3c, 0xd3, 0x93, 0xe2, |
|
| 358 |
- 0xb7, 0x40, 0xfd, 0x03, 0xf9, 0xb0, 0x2d, 0x05, 0x55, 0xac, 0xfa, 0x73, 0x99, 0x4d, |
|
| 359 |
- 0xc1, 0xca, 0x93, 0x67, 0xf3, 0xa7, 0x3e, 0x76, 0x06, 0x45, 0x7c, 0x97, 0x57, 0xc2, |
|
| 360 |
- 0xd6, 0x40, 0x48, 0x28, 0xe6, 0xfb, 0x6a, 0xfe, 0x4f, 0x07, 0x6c, 0xf5, 0x68, 0xcf, |
|
| 361 |
- 0xad, 0x12, 0x88, 0xc4, 0x9e, 0xb8, 0x45, 0x70, 0x5c, 0xe4, 0x57, 0x2a, 0x28, |
|
| 362 |
- ], |
|
| 363 |
- }, |
|
| 364 |
- // APN-Win identity 000006. |
|
| 365 |
- SigningIdentity {
|
|
| 366 |
- p: [ |
|
| 367 |
- 0xe3, 0x7b, 0xc2, 0x31, 0x22, 0x8a, 0x5c, 0x8f, 0x03, 0xcb, 0x6c, 0xde, 0x92, 0x6f, |
|
| 368 |
- 0xb0, 0x88, 0x47, 0x43, 0x7b, 0xac, 0x72, 0xd9, 0x94, 0x31, 0x2d, 0xd9, 0xa6, 0xdf, |
|
| 369 |
- 0xf1, 0x83, 0x41, 0xac, 0x3a, 0x21, 0xe9, 0x52, 0x19, 0xdb, 0x44, 0xf4, 0xe4, 0x4b, |
|
| 370 |
- 0xd0, 0x18, 0x8e, 0xa6, 0x30, 0xa5, 0xa2, 0x3c, 0xb9, 0xa7, 0x7d, 0x78, 0x07, 0x0d, |
|
| 371 |
- 0x7b, 0x4c, 0xe5, 0xdb, 0x52, 0x4e, 0x7d, 0x95, |
|
| 372 |
- ], |
|
| 373 |
- q: [ |
|
| 374 |
- 0xc2, 0x06, 0xe8, 0x58, 0x13, 0x8f, 0xcb, 0xdc, 0x92, 0x56, 0xb6, 0x3e, 0x4e, 0x03, |
|
| 375 |
- 0x18, 0xcb, 0x35, 0x73, 0x4f, 0x78, 0x73, 0x09, 0xc5, 0xee, 0x00, 0x83, 0x52, 0x28, |
|
| 376 |
- 0xd4, 0xb3, 0x6b, 0xb4, 0xfb, 0xd1, 0x39, 0x2f, 0x4d, 0x7b, 0xad, 0x76, 0x42, 0x83, |
|
| 377 |
- 0x3f, 0x24, 0x4d, 0x07, 0x45, 0xe9, 0x10, 0x77, 0xad, 0xac, 0x4a, 0xd8, 0x6d, 0x1e, |
|
| 378 |
- 0xab, 0x1a, 0x9e, 0xa2, 0x21, 0x93, 0x62, 0x33, |
|
| 379 |
- ], |
|
| 380 |
- certificate: &[ |
|
| 381 |
- 0x30, 0x82, 0x02, 0xc5, 0x30, 0x82, 0x02, 0x2e, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 382 |
- 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x10, 0x20, 0xaf, 0x00, 0x01, 0xaf, 0x00, 0x00, 0x06, |
|
| 383 |
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 384 |
- 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 385 |
- 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 386 |
- 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 387 |
- 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 388 |
- 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 389 |
- 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 390 |
- 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 391 |
- 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 392 |
- 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 393 |
- 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x30, 0x30, 0x30, 0x32, |
|
| 394 |
- 0x30, 0x34, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x31, 0x30, 0x31, 0x39, 0x30, 0x30, 0x30, |
|
| 395 |
- 0x32, 0x30, 0x34, 0x5a, 0x30, 0x68, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 396 |
- 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 397 |
- 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 398 |
- 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 399 |
- 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x2b, 0x30, 0x29, 0x06, |
|
| 400 |
- 0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x41, 0x50, 0x4e, 0x2d, 0x57, 0x69, 0x6e, 0x2e, |
|
| 401 |
- 0x33, 0x33, 0x33, 0x33, 0x41, 0x46, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x41, 0x46, |
|
| 402 |
- 0x30, 0x30, 0x30, 0x31, 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x36, 0x30, 0x81, |
|
| 403 |
- 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, |
|
| 404 |
- 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xac, |
|
| 405 |
- 0x69, 0xec, 0x86, 0x35, 0x3c, 0xe8, 0x46, 0x12, 0x0f, 0xb6, 0xe9, 0x33, 0xce, 0x4d, |
|
| 406 |
- 0x9c, 0xae, 0x60, 0xc2, 0xd1, 0x12, 0x4b, 0xe9, 0x43, 0xce, 0x44, 0x9d, 0x2f, 0x85, |
|
| 407 |
- 0x58, 0xdb, 0x4d, 0x9f, 0xa0, 0x7f, 0x94, 0x59, 0x4b, 0x63, 0x8f, 0xb5, 0x62, 0xe6, |
|
| 408 |
- 0x4c, 0x24, 0x19, 0x03, 0x2d, 0xdc, 0x81, 0x4a, 0x40, 0x88, 0xd8, 0x59, 0xeb, 0xe1, |
|
| 409 |
- 0xef, 0x4b, 0xc3, 0x98, 0xc0, 0xf4, 0x7c, 0xea, 0xd8, 0x2b, 0x67, 0x62, 0xd1, 0x30, |
|
| 410 |
- 0x63, 0xe9, 0xc7, 0xf5, 0xe8, 0x70, 0xa9, 0x20, 0xaa, 0x5e, 0x65, 0x13, 0x84, 0xd0, |
|
| 411 |
- 0x27, 0xcf, 0xf3, 0xe3, 0x21, 0x0a, 0x76, 0x36, 0xde, 0xc4, 0x69, 0x63, 0x33, 0x21, |
|
| 412 |
- 0x58, 0x9f, 0x2e, 0xe2, 0x80, 0xcf, 0xa8, 0x59, 0xda, 0x8a, 0x1f, 0xf6, 0x90, 0x86, |
|
| 413 |
- 0x24, 0xd0, 0x97, 0x28, 0x6a, 0x0b, 0x94, 0x12, 0x2b, 0x8f, 0xbf, 0xc3, 0x45, 0x0e, |
|
| 414 |
- 0xaf, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, |
|
| 415 |
- 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, |
|
| 416 |
- 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, |
|
| 417 |
- 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x0f, 0x4d, 0x5f, 0x83, 0x52, |
|
| 418 |
- 0x56, 0x19, 0xa0, 0x76, 0x8f, 0x4b, 0xee, 0xf0, 0xed, 0xd8, 0x02, 0x0d, 0x3a, 0x00, |
|
| 419 |
- 0xdc, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, |
|
| 420 |
- 0xfa, 0x0d, 0xd4, 0x11, 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, |
|
| 421 |
- 0xdd, 0x63, 0x62, 0x07, 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, |
|
| 422 |
- 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x2b, 0x82, 0x74, |
|
| 423 |
- 0x72, 0x5a, 0x54, 0x4c, 0x54, 0x54, 0x37, 0x6e, 0xd8, 0xcf, 0xa8, 0x3e, 0x1f, 0x8d, |
|
| 424 |
- 0xd0, 0x26, 0xe5, 0x47, 0xf4, 0x1a, 0xc9, 0x35, 0x7a, 0xce, 0xec, 0xca, 0x38, 0x3b, |
|
| 425 |
- 0x94, 0x54, 0xd8, 0xae, 0x7c, 0xf8, 0x45, 0x5f, 0xfa, 0xd4, 0xbd, 0x4f, 0x1a, 0x22, |
|
| 426 |
- 0x27, 0xe7, 0x69, 0xf5, 0xaa, 0xed, 0xcf, 0x3b, 0x0b, 0xc2, 0x74, 0x1e, 0xa5, 0x7d, |
|
| 427 |
- 0x75, 0x3b, 0x3f, 0x94, 0xe7, 0x19, 0x38, 0x42, 0x24, 0xbc, 0xb1, 0x36, 0x52, 0x35, |
|
| 428 |
- 0x3d, 0xac, 0x49, 0xa0, 0x25, 0xe0, 0x22, 0xc1, 0xea, 0x55, 0x0d, 0xba, 0x43, 0xd3, |
|
| 429 |
- 0x5f, 0x07, 0xdc, 0x5f, 0x59, 0x1b, 0x48, 0x13, 0x4f, 0xd7, 0x4e, 0x6d, 0x07, 0x08, |
|
| 430 |
- 0xc1, 0xb4, 0x00, 0x92, 0x84, 0xcf, 0xa0, 0xbd, 0xdf, 0x33, 0xaa, 0x3f, 0xfd, 0x8b, |
|
| 431 |
- 0x99, 0x87, 0x8d, 0x46, 0x45, 0xa9, 0x3d, 0x0a, 0x65, 0x9d, 0xd2, 0x15, 0xb0, |
|
| 432 |
- ], |
|
| 433 |
- }, |
|
| 434 |
- // APN-Win identity 000007. |
|
| 435 |
- SigningIdentity {
|
|
| 436 |
- p: [ |
|
| 437 |
- 0xf0, 0xad, 0x75, 0x6a, 0xdb, 0x42, 0x8d, 0x70, 0x3c, 0xa4, 0xba, 0xa5, 0x87, 0xa9, |
|
| 438 |
- 0x1e, 0xc3, 0xd7, 0x6d, 0xe5, 0x46, 0x97, 0xa6, 0x8a, 0x7a, 0x09, 0x44, 0xdc, 0x33, |
|
| 439 |
- 0x71, 0xb6, 0xb7, 0x9f, 0x2d, 0x44, 0xfa, 0x64, 0xcf, 0xd0, 0xa2, 0x5a, 0x8d, 0x2d, |
|
| 440 |
- 0x67, 0xed, 0x62, 0x07, 0x7f, 0xfa, 0x23, 0x4c, 0xa2, 0x75, 0x90, 0xce, 0xc0, 0xf5, |
|
| 441 |
- 0xfc, 0x79, 0x3b, 0x30, 0x96, 0x3b, 0x57, 0xe5, |
|
| 442 |
- ], |
|
| 443 |
- q: [ |
|
| 444 |
- 0xef, 0x4b, 0x6c, 0x26, 0x07, 0xf1, 0x3f, 0x3a, 0xf7, 0xbb, 0x7b, 0x9c, 0xff, 0x16, |
|
| 445 |
- 0xeb, 0xb3, 0x72, 0xf8, 0x33, 0x95, 0xb0, 0x94, 0xed, 0xf2, 0xdc, 0x6f, 0x24, 0x1c, |
|
| 446 |
- 0x87, 0xec, 0x6a, 0x26, 0x16, 0xb0, 0xf8, 0x80, 0x4c, 0xbe, 0xa9, 0xfd, 0x7c, 0x2a, |
|
| 447 |
- 0x88, 0x6d, 0xf4, 0x1f, 0x55, 0xac, 0x98, 0x2a, 0xaf, 0x6e, 0x1f, 0x93, 0xd9, 0x46, |
|
| 448 |
- 0xf7, 0xb9, 0x5e, 0xef, 0x7b, 0xc5, 0x5c, 0x03, |
|
| 449 |
- ], |
|
| 450 |
- certificate: &[ |
|
| 451 |
- 0x30, 0x82, 0x02, 0xc5, 0x30, 0x82, 0x02, 0x2e, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 452 |
- 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x10, 0x20, 0xaf, 0x00, 0x01, 0xaf, 0x00, 0x00, 0x07, |
|
| 453 |
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 454 |
- 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 455 |
- 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 456 |
- 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 457 |
- 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 458 |
- 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 459 |
- 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 460 |
- 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 461 |
- 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 462 |
- 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 463 |
- 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x30, 0x30, 0x30, 0x32, |
|
| 464 |
- 0x30, 0x34, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x31, 0x30, 0x31, 0x39, 0x30, 0x30, 0x30, |
|
| 465 |
- 0x32, 0x30, 0x34, 0x5a, 0x30, 0x68, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 466 |
- 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 467 |
- 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 468 |
- 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 469 |
- 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x2b, 0x30, 0x29, 0x06, |
|
| 470 |
- 0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x41, 0x50, 0x4e, 0x2d, 0x57, 0x69, 0x6e, 0x2e, |
|
| 471 |
- 0x33, 0x33, 0x33, 0x33, 0x41, 0x46, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x41, 0x46, |
|
| 472 |
- 0x30, 0x30, 0x30, 0x31, 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37, 0x30, 0x81, |
|
| 473 |
- 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, |
|
| 474 |
- 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xe0, |
|
| 475 |
- 0xf8, 0xd9, 0x1d, 0x17, 0xc1, 0x6d, 0xdb, 0x6d, 0xbc, 0xa7, 0xa7, 0xcd, 0x17, 0x07, |
|
| 476 |
- 0x9b, 0x83, 0x21, 0x86, 0x81, 0x37, 0x40, 0x68, 0x2c, 0xec, 0x2d, 0x45, 0x55, 0xe9, |
|
| 477 |
- 0x84, 0xcc, 0x40, 0x86, 0xd5, 0x2b, 0x6a, 0x1f, 0x1f, 0xbc, 0x3c, 0x3e, 0xb3, 0x55, |
|
| 478 |
- 0xdd, 0x0a, 0x49, 0x60, 0x80, 0xb5, 0x12, 0x94, 0xfc, 0xc2, 0xfc, 0x78, 0xb8, 0xaf, |
|
| 479 |
- 0xba, 0x7f, 0xc1, 0x75, 0x65, 0x67, 0xd0, 0x9a, 0x31, 0x51, 0xe1, 0xd4, 0xb4, 0x16, |
|
| 480 |
- 0xde, 0xed, 0xe9, 0x80, 0x52, 0xb6, 0xd0, 0x33, 0x44, 0xed, 0x2b, 0x0d, 0x08, 0xa5, |
|
| 481 |
- 0x08, 0xe7, 0xa1, 0x5a, 0xe1, 0x10, 0x38, 0xce, 0x30, 0x0a, 0x74, 0xd7, 0x57, 0x56, |
|
| 482 |
- 0x9d, 0x33, 0x85, 0x52, 0x7f, 0xb3, 0xe5, 0xd0, 0x2e, 0x58, 0xd5, 0xe5, 0x93, 0x87, |
|
| 483 |
- 0x21, 0xf3, 0x0e, 0x22, 0x92, 0x44, 0x2c, 0xee, 0x6d, 0x6b, 0x3f, 0xc0, 0x81, 0x53, |
|
| 484 |
- 0xaf, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, |
|
| 485 |
- 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, |
|
| 486 |
- 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, |
|
| 487 |
- 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xad, 0x58, 0x03, 0x97, 0xe3, |
|
| 488 |
- 0xf9, 0x03, 0x0c, 0xd5, 0x01, 0x0b, 0x68, 0x0a, 0xa5, 0xb7, 0xec, 0x6c, 0x27, 0x71, |
|
| 489 |
- 0x61, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, |
|
| 490 |
- 0xfa, 0x0d, 0xd4, 0x11, 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, |
|
| 491 |
- 0xdd, 0x63, 0x62, 0x07, 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, |
|
| 492 |
- 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x66, 0xc5, 0x8e, |
|
| 493 |
- 0xa8, 0x43, 0xd2, 0x34, 0x6e, 0x85, 0x03, 0xd3, 0xc5, 0xef, 0x0a, 0x31, 0xda, 0x1e, |
|
| 494 |
- 0x84, 0xde, 0xd9, 0x40, 0x79, 0xc9, 0xdd, 0x5a, 0x24, 0xf5, 0xcc, 0xca, 0x47, 0x65, |
|
| 495 |
- 0x69, 0xe3, 0x6f, 0x0c, 0x4e, 0x58, 0x95, 0x6f, 0x86, 0x18, 0x4c, 0x94, 0xe9, 0xc5, |
|
| 496 |
- 0x49, 0xbd, 0x47, 0xac, 0xfe, 0xb1, 0xf4, 0x68, 0xbc, 0x1e, 0xe7, 0x8a, 0x66, 0x60, |
|
| 497 |
- 0xcd, 0x39, 0x20, 0x1c, 0x06, 0x56, 0x19, 0xc7, 0x4c, 0xe2, 0x0e, 0x0e, 0x15, 0x86, |
|
| 498 |
- 0xe8, 0xf3, 0xa3, 0xb5, 0x4a, 0xc4, 0x44, 0x73, 0x37, 0x10, 0xa8, 0xa9, 0x7e, 0x18, |
|
| 499 |
- 0x72, 0x9c, 0xef, 0x77, 0xed, 0x1b, 0x21, 0x6a, 0xcd, 0xd9, 0x9d, 0xee, 0x17, 0xf6, |
|
| 500 |
- 0x56, 0x31, 0x18, 0xf5, 0xf0, 0x35, 0xbc, 0x14, 0x33, 0x76, 0x91, 0xd8, 0xa6, 0x7c, |
|
| 501 |
- 0x86, 0x7f, 0x80, 0x69, 0xe2, 0xb1, 0xaa, 0x30, 0xec, 0xf4, 0xe3, 0xd5, 0x1c, |
|
| 502 |
- ], |
|
| 503 |
- }, |
|
| 504 |
- // APN-Win identity 000008. |
|
| 505 |
- SigningIdentity {
|
|
| 506 |
- p: [ |
|
| 507 |
- 0xcb, 0x6a, 0xa4, 0xbb, 0xe3, 0x96, 0x51, 0x43, 0x94, 0x2e, 0x5e, 0x0f, 0x33, 0x0b, |
|
| 508 |
- 0x10, 0xcc, 0xf0, 0xfe, 0xa8, 0x83, 0x19, 0x3f, 0xdd, 0xed, 0x1f, 0x11, 0xe4, 0xcc, |
|
| 509 |
- 0x72, 0xd6, 0xf9, 0x9e, 0x64, 0x03, 0x71, 0x2d, 0xa8, 0xa9, 0xcd, 0xfe, 0x02, 0xf0, |
|
| 510 |
- 0x72, 0xf9, 0xfb, 0xd7, 0x13, 0xce, 0x69, 0x23, 0x84, 0x03, 0xd2, 0xc3, 0x30, 0xd8, |
|
| 511 |
- 0x2a, 0xb3, 0x63, 0xb2, 0xfd, 0x12, 0x6a, 0x2f, |
|
| 512 |
- ], |
|
| 513 |
- q: [ |
|
| 514 |
- 0xc4, 0x4e, 0xb8, 0xc1, 0x5c, 0x87, 0xd0, 0x58, 0x95, 0x78, 0x3d, 0x21, 0xf3, 0xef, |
|
| 515 |
- 0x05, 0x52, 0x93, 0x41, 0xe3, 0x6a, 0x10, 0x84, 0x5f, 0xbb, 0x7e, 0x26, 0x7f, 0x64, |
|
| 516 |
- 0xe7, 0x70, 0x6f, 0x12, 0x41, 0x42, 0xc3, 0x5f, 0xf4, 0x60, 0xfc, 0x48, 0x91, 0x92, |
|
| 517 |
- 0x45, 0x63, 0x0e, 0xa1, 0x80, 0x68, 0x0b, 0x6a, 0x0b, 0x0d, 0xae, 0xed, 0x29, 0x0f, |
|
| 518 |
- 0xfe, 0x5f, 0xc6, 0xff, 0x23, 0x41, 0x3e, 0x11, |
|
| 519 |
- ], |
|
| 520 |
- certificate: &[ |
|
| 521 |
- 0x30, 0x82, 0x02, 0xc5, 0x30, 0x82, 0x02, 0x2e, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 522 |
- 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x10, 0x20, 0xaf, 0x00, 0x01, 0xaf, 0x00, 0x00, 0x08, |
|
| 523 |
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 524 |
- 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 525 |
- 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 526 |
- 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 527 |
- 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 528 |
- 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 529 |
- 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 530 |
- 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 531 |
- 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 532 |
- 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 533 |
- 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x30, 0x30, 0x30, 0x32, |
|
| 534 |
- 0x30, 0x35, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x31, 0x30, 0x31, 0x39, 0x30, 0x30, 0x30, |
|
| 535 |
- 0x32, 0x30, 0x35, 0x5a, 0x30, 0x68, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 536 |
- 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 537 |
- 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 538 |
- 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 539 |
- 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x2b, 0x30, 0x29, 0x06, |
|
| 540 |
- 0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x41, 0x50, 0x4e, 0x2d, 0x57, 0x69, 0x6e, 0x2e, |
|
| 541 |
- 0x33, 0x33, 0x33, 0x33, 0x41, 0x46, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x41, 0x46, |
|
| 542 |
- 0x30, 0x30, 0x30, 0x31, 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x38, 0x30, 0x81, |
|
| 543 |
- 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, |
|
| 544 |
- 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0x9b, |
|
| 545 |
- 0xfc, 0x33, 0x6c, 0x56, 0xd1, 0xe9, 0x3c, 0x8c, 0xeb, 0x6c, 0x03, 0xcf, 0x39, 0xd6, |
|
| 546 |
- 0xa1, 0x8e, 0x96, 0x27, 0xdf, 0xfa, 0xf8, 0x56, 0x73, 0x05, 0x5f, 0x16, 0xc3, 0x6a, |
|
| 547 |
- 0xc0, 0x3b, 0x1a, 0x27, 0x10, 0x79, 0x5c, 0x5a, 0xbb, 0x4a, 0x14, 0xdf, 0xa9, 0x42, |
|
| 548 |
- 0x36, 0x6f, 0x95, 0x2e, 0xcc, 0x15, 0xf9, 0x19, 0x16, 0xc6, 0x85, 0xb8, 0x53, 0x7c, |
|
| 549 |
- 0xbc, 0x47, 0xe4, 0x54, 0xda, 0x8c, 0x94, 0xae, 0x89, 0x37, 0xf4, 0xfd, 0x3c, 0x97, |
|
| 550 |
- 0x3f, 0x9f, 0x9a, 0xf6, 0x28, 0x6c, 0xda, 0x7e, 0xb7, 0x8f, 0x29, 0xeb, 0xf5, 0x01, |
|
| 551 |
- 0x18, 0x1d, 0x15, 0x00, 0x33, 0xa4, 0x62, 0xe7, 0xb8, 0xb3, 0x86, 0x58, 0x09, 0xbc, |
|
| 552 |
- 0xf3, 0x42, 0x94, 0x0b, 0x0c, 0xf6, 0x3c, 0x58, 0x11, 0x03, 0xcc, 0x1a, 0x8a, 0xf4, |
|
| 553 |
- 0x0f, 0x4c, 0x00, 0x1e, 0x6d, 0xa4, 0xd7, 0x6e, 0x03, 0xdd, 0x2f, 0xa6, 0xdf, 0x6f, |
|
| 554 |
- 0x1f, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, |
|
| 555 |
- 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, |
|
| 556 |
- 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, |
|
| 557 |
- 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xf7, 0x93, 0xef, 0x48, 0x8c, |
|
| 558 |
- 0xb6, 0x71, 0xee, 0x83, 0x05, 0x1e, 0x1e, 0x76, 0xb0, 0xdc, 0xb0, 0xa7, 0xcb, 0x4c, |
|
| 559 |
- 0x8c, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, |
|
| 560 |
- 0xfa, 0x0d, 0xd4, 0x11, 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, |
|
| 561 |
- 0xdd, 0x63, 0x62, 0x07, 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, |
|
| 562 |
- 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x50, 0xdb, 0xf6, |
|
| 563 |
- 0xef, 0xad, 0xb5, 0x9e, 0x56, 0x4b, 0xf1, 0x69, 0x3a, 0xc2, 0x49, 0x2a, 0x7b, 0x3d, |
|
| 564 |
- 0x47, 0x30, 0x67, 0xae, 0x0f, 0x3f, 0xdf, 0xc1, 0x36, 0x9b, 0x0f, 0x42, 0x02, 0x56, |
|
| 565 |
- 0x11, 0x22, 0xe4, 0x8c, 0x60, 0xe6, 0x12, 0x1d, 0x1c, 0x8a, 0x19, 0xb7, 0x52, 0x3f, |
|
| 566 |
- 0x6a, 0xae, 0xf4, 0xed, 0x96, 0x6e, 0xa0, 0x5f, 0x67, 0x50, 0xf1, 0xdf, 0x02, 0xe5, |
|
| 567 |
- 0xe5, 0x46, 0x92, 0xa2, 0xce, 0x11, 0x90, 0x34, 0xd6, 0x2f, 0x81, 0x3a, 0xc8, 0x04, |
|
| 568 |
- 0x9a, 0x60, 0x91, 0x0d, 0x7f, 0xe6, 0xf4, 0x01, 0xc6, 0x0b, 0x88, 0x39, 0x95, 0x17, |
|
| 569 |
- 0xeb, 0x3c, 0x1f, 0xb2, 0x8a, 0x07, 0x4c, 0xe3, 0xd1, 0x5b, 0xc0, 0x24, 0x10, 0xf3, |
|
| 570 |
- 0x56, 0x94, 0xe9, 0xc3, 0xb3, 0x3c, 0x7f, 0x3d, 0x9b, 0x0e, 0x43, 0x1d, 0x9e, 0x8c, |
|
| 571 |
- 0xb0, 0x65, 0x3c, 0x22, 0xb6, 0x28, 0x56, 0x79, 0xa3, 0xef, 0xb9, 0x5b, 0x06, |
|
| 572 |
- ], |
|
| 573 |
- }, |
|
| 574 |
- // APN-Win identity 000009. |
|
| 575 |
- SigningIdentity {
|
|
| 576 |
- p: [ |
|
| 577 |
- 0xe6, 0x4f, 0x46, 0x42, 0xfe, 0xc8, 0x2c, 0x82, 0xf0, 0xe2, 0xee, 0x28, 0xb0, 0xdd, |
|
| 578 |
- 0x4b, 0x5a, 0xe7, 0xc9, 0x6e, 0x02, 0xaa, 0xba, 0x3a, 0xe9, 0xe0, 0xc4, 0xcb, 0xb0, |
|
| 579 |
- 0xc6, 0xd8, 0x3f, 0x88, 0x1c, 0x28, 0x89, 0x22, 0xca, 0x61, 0x62, 0x64, 0xbf, 0x3b, |
|
| 580 |
- 0x49, 0xd8, 0xad, 0x8d, 0x99, 0xf1, 0xca, 0x75, 0xb4, 0xd9, 0x12, 0x18, 0x9a, 0x3c, |
|
| 581 |
- 0xab, 0xc8, 0x97, 0x77, 0x85, 0x36, 0xe2, 0xe3, |
|
| 582 |
- ], |
|
| 583 |
- q: [ |
|
| 584 |
- 0xc3, 0x59, 0x95, 0x2b, 0x7f, 0xeb, 0x24, 0x78, 0xda, 0xd4, 0x41, 0x79, 0x90, 0xb3, |
|
| 585 |
- 0x62, 0xd4, 0x33, 0xd1, 0x6d, 0x11, 0x59, 0x3e, 0x6a, 0x8b, 0x90, 0x73, 0x8a, 0x51, |
|
| 586 |
- 0xc8, 0x15, 0xe6, 0x93, 0x93, 0x98, 0xf7, 0xc1, 0xbc, 0x17, 0x48, 0x53, 0x88, 0x88, |
|
| 587 |
- 0xe5, 0x93, 0xeb, 0x6e, 0x47, 0xb5, 0x97, 0x83, 0x4e, 0x50, 0x47, 0x21, 0x76, 0x37, |
|
| 588 |
- 0x32, 0xdc, 0x3d, 0xc4, 0x79, 0x8e, 0xbc, 0xd9, |
|
| 589 |
- ], |
|
| 590 |
- certificate: &[ |
|
| 591 |
- 0x30, 0x82, 0x02, 0xc5, 0x30, 0x82, 0x02, 0x2e, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 592 |
- 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x10, 0x20, 0xaf, 0x00, 0x01, 0xaf, 0x00, 0x00, 0x09, |
|
| 593 |
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 594 |
- 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 595 |
- 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 596 |
- 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 597 |
- 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 598 |
- 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 599 |
- 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 600 |
- 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 601 |
- 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 602 |
- 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 603 |
- 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x30, 0x30, 0x30, 0x32, |
|
| 604 |
- 0x30, 0x35, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x31, 0x30, 0x31, 0x39, 0x30, 0x30, 0x30, |
|
| 605 |
- 0x32, 0x30, 0x35, 0x5a, 0x30, 0x68, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 606 |
- 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 607 |
- 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 608 |
- 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 609 |
- 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x2b, 0x30, 0x29, 0x06, |
|
| 610 |
- 0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x41, 0x50, 0x4e, 0x2d, 0x57, 0x69, 0x6e, 0x2e, |
|
| 611 |
- 0x33, 0x33, 0x33, 0x33, 0x41, 0x46, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x41, 0x46, |
|
| 612 |
- 0x30, 0x30, 0x30, 0x31, 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x39, 0x30, 0x81, |
|
| 613 |
- 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, |
|
| 614 |
- 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xaf, |
|
| 615 |
- 0xbe, 0xfa, 0x47, 0xbb, 0xa7, 0xb8, 0x7b, 0x20, 0x58, 0x4b, 0xf4, 0x76, 0x53, 0x5e, |
|
| 616 |
- 0xb8, 0x44, 0xf3, 0xe0, 0x1d, 0x90, 0x6c, 0xb6, 0xae, 0x9e, 0x94, 0x8b, 0x52, 0x67, |
|
| 617 |
- 0xf8, 0xe9, 0x4a, 0x98, 0xbd, 0x66, 0xe5, 0x4f, 0x51, 0xf7, 0x6a, 0x1f, 0x76, 0xa8, |
|
| 618 |
- 0x94, 0xc7, 0x3f, 0xa8, 0xf7, 0x46, 0x6f, 0xac, 0x23, 0x56, 0x29, 0x68, 0xed, 0xd0, |
|
| 619 |
- 0x9b, 0x8c, 0x6e, 0x87, 0x47, 0xd1, 0x1d, 0xa0, 0x1a, 0x35, 0x96, 0xfd, 0xca, 0x93, |
|
| 620 |
- 0x8c, 0x7f, 0x04, 0xcd, 0x5f, 0x1c, 0x5c, 0x61, 0x7d, 0x87, 0x4b, 0x06, 0xc0, 0x6e, |
|
| 621 |
- 0xa2, 0x62, 0xf2, 0x57, 0x64, 0x62, 0x16, 0xcf, 0x1a, 0xbb, 0x86, 0x9c, 0x3a, 0xb1, |
|
| 622 |
- 0x74, 0x18, 0x62, 0x33, 0xff, 0xe4, 0x61, 0x8d, 0x23, 0xaa, 0xdf, 0x14, 0x9c, 0x79, |
|
| 623 |
- 0x87, 0xd1, 0x35, 0x97, 0x01, 0x6a, 0xf0, 0xd1, 0xb0, 0xcc, 0x9f, 0x5f, 0x0f, 0x06, |
|
| 624 |
- 0x6b, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, |
|
| 625 |
- 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, |
|
| 626 |
- 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, |
|
| 627 |
- 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x59, 0x2c, 0x9c, 0x42, 0x56, |
|
| 628 |
- 0x6b, 0x56, 0x6f, 0xa9, 0xd9, 0x51, 0xd8, 0xe0, 0x58, 0x9d, 0x89, 0xfa, 0xa6, 0xbf, |
|
| 629 |
- 0x41, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, |
|
| 630 |
- 0xfa, 0x0d, 0xd4, 0x11, 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, |
|
| 631 |
- 0xdd, 0x63, 0x62, 0x07, 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, |
|
| 632 |
- 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x93, 0x8c, 0x71, |
|
| 633 |
- 0xef, 0xa0, 0x1b, 0x9f, 0xc5, 0xa9, 0xcc, 0x2e, 0xec, 0x6a, 0x73, 0x99, 0xff, 0xa0, |
|
| 634 |
- 0x7a, 0x79, 0x2b, 0x74, 0x72, 0xfc, 0xd5, 0xd7, 0x09, 0x46, 0xe2, 0x10, 0xc9, 0x57, |
|
| 635 |
- 0x72, 0x26, 0xa8, 0xe9, 0xce, 0x3c, 0x6b, 0xb4, 0x55, 0x0f, 0xc1, 0x97, 0x40, 0x29, |
|
| 636 |
- 0xf1, 0xdf, 0xa8, 0x6a, 0xe2, 0xcb, 0x74, 0x39, 0xf9, 0xec, 0x55, 0xb4, 0xb8, 0x9a, |
|
| 637 |
- 0x98, 0xc5, 0x4b, 0x63, 0x97, 0x1a, 0xc5, 0x3d, 0x70, 0x85, 0x2c, 0xb3, 0x80, 0xde, |
|
| 638 |
- 0x7a, 0xca, 0x6b, 0x36, 0xb9, 0x1d, 0x01, 0x83, 0x97, 0x12, 0x8a, 0xe0, 0x58, 0x52, |
|
| 639 |
- 0x81, 0x44, 0xeb, 0x00, 0x76, 0xb8, 0x73, 0x06, 0x7e, 0x32, 0x48, 0x58, 0xf0, 0x8a, |
|
| 640 |
- 0xba, 0xbe, 0x44, 0x16, 0x81, 0x90, 0x71, 0x23, 0x9f, 0x9d, 0x77, 0x84, 0x63, 0x10, |
|
| 641 |
- 0x0f, 0x95, 0xb7, 0x9e, 0x29, 0xbd, 0xc2, 0x52, 0x0b, 0x42, 0xb1, 0x3b, 0x93, |
|
| 642 |
- ], |
|
| 643 |
- }, |
|
| 644 |
- // APN-Win identity 00000A. |
|
| 645 |
- SigningIdentity {
|
|
| 646 |
- p: [ |
|
| 647 |
- 0xe8, 0xc1, 0x04, 0xea, 0xfb, 0xd9, 0x6f, 0x57, 0x56, 0x3a, 0x59, 0xf5, 0x1a, 0x0f, |
|
| 648 |
- 0x66, 0xaa, 0x23, 0x37, 0x53, 0x24, 0xbd, 0xb9, 0x0d, 0xe0, 0x3b, 0xf6, 0xb6, 0x04, |
|
| 649 |
- 0x1a, 0xa6, 0xf2, 0x45, 0x99, 0xb7, 0x4d, 0x99, 0xfb, 0x0c, 0xd2, 0x4c, 0x1d, 0x0f, |
|
| 650 |
- 0xd1, 0x32, 0x0e, 0xf3, 0x8b, 0x9b, 0x9b, 0xd6, 0xa7, 0x0c, 0x41, 0x37, 0xbc, 0xfc, |
|
| 651 |
- 0x18, 0x12, 0x06, 0x2c, 0x1b, 0x01, 0x4a, 0xbd, |
|
| 652 |
- ], |
|
| 653 |
- q: [ |
|
| 654 |
- 0xe1, 0x69, 0xc8, 0x77, 0x52, 0xfd, 0x8e, 0x52, 0x69, 0x75, 0x29, 0xba, 0xc6, 0xef, |
|
| 655 |
- 0x7b, 0x49, 0x68, 0x35, 0xd7, 0xea, 0xd5, 0x15, 0xa8, 0x16, 0xae, 0x64, 0xa3, 0xcf, |
|
| 656 |
- 0xd8, 0xe9, 0xad, 0x90, 0x69, 0xc0, 0xfe, 0xdf, 0x68, 0x47, 0xfb, 0xf3, 0xfc, 0x29, |
|
| 657 |
- 0xb1, 0x9b, 0x68, 0xfd, 0xc0, 0x14, 0x4f, 0x5e, 0xe8, 0xa6, 0xaf, 0xab, 0xed, 0xa5, |
|
| 658 |
- 0xdf, 0xe6, 0x2a, 0x7e, 0xf9, 0x0b, 0x06, 0x3b, |
|
| 659 |
- ], |
|
| 660 |
- certificate: &[ |
|
| 661 |
- 0x30, 0x82, 0x02, 0xc5, 0x30, 0x82, 0x02, 0x2e, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, |
|
| 662 |
- 0x0d, 0x33, 0x33, 0xaf, 0x10, 0x10, 0x20, 0xaf, 0x00, 0x01, 0xaf, 0x00, 0x00, 0x10, |
|
| 663 |
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, |
|
| 664 |
- 0x00, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 665 |
- 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, |
|
| 666 |
- 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, |
|
| 667 |
- 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, |
|
| 668 |
- 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, |
|
| 669 |
- 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, |
|
| 670 |
- 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x46, 0x61, 0x69, 0x72, |
|
| 671 |
- 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 672 |
- 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 673 |
- 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x30, 0x30, 0x30, 0x32, |
|
| 674 |
- 0x30, 0x36, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x31, 0x30, 0x31, 0x39, 0x30, 0x30, 0x30, |
|
| 675 |
- 0x32, 0x30, 0x36, 0x5a, 0x30, 0x68, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, |
|
| 676 |
- 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 677 |
- 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x17, |
|
| 678 |
- 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x0e, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 679 |
- 0x20, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x31, 0x2b, 0x30, 0x29, 0x06, |
|
| 680 |
- 0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x41, 0x50, 0x4e, 0x2d, 0x57, 0x69, 0x6e, 0x2e, |
|
| 681 |
- 0x33, 0x33, 0x33, 0x33, 0x41, 0x46, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x41, 0x46, |
|
| 682 |
- 0x30, 0x30, 0x30, 0x31, 0x41, 0x46, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, 0x81, |
|
| 683 |
- 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, |
|
| 684 |
- 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xcc, |
|
| 685 |
- 0xf1, 0xd2, 0xc0, 0xd4, 0xc0, 0xa0, 0xc2, 0x7e, 0x00, 0xcb, 0xa6, 0xa2, 0xc5, 0x0f, |
|
| 686 |
- 0x55, 0x85, 0xae, 0x5d, 0xa9, 0x5a, 0x4b, 0x63, 0xd4, 0x48, 0xb2, 0xb5, 0xeb, 0x48, |
|
| 687 |
- 0xf6, 0x7e, 0x3d, 0xa3, 0x24, 0xa3, 0xf2, 0x19, 0xff, 0x61, 0x60, 0x06, 0xc8, 0x81, |
|
| 688 |
- 0x12, 0x64, 0x31, 0xb5, 0xd0, 0x35, 0xce, 0x31, 0x53, 0x59, 0x41, 0x28, 0xe4, 0x41, |
|
| 689 |
- 0x87, 0xb3, 0xb9, 0x36, 0x68, 0x53, 0xf7, 0x72, 0x9f, 0xcd, 0xa8, 0x0c, 0x7d, 0x4b, |
|
| 690 |
- 0x1e, 0x42, 0x65, 0xcc, 0xc5, 0x21, 0x6b, 0xd4, 0x24, 0x2b, 0xfb, 0xec, 0x33, 0xff, |
|
| 691 |
- 0x40, 0xf5, 0xe4, 0x33, 0xf7, 0x22, 0xf6, 0x79, 0xb7, 0x6e, 0xc9, 0xf7, 0x1b, 0xb2, |
|
| 692 |
- 0x88, 0x0c, 0x2e, 0x1d, 0x7d, 0xd5, 0x10, 0xef, 0xef, 0xed, 0x05, 0x25, 0x0d, 0x99, |
|
| 693 |
- 0x76, 0xfb, 0x19, 0x26, 0xd2, 0xd5, 0xa9, 0x6c, 0x29, 0xaa, 0x92, 0x4c, 0x2b, 0xa7, |
|
| 694 |
- 0x8f, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0e, 0x06, 0x03, |
|
| 695 |
- 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x03, 0xb8, 0x30, 0x0c, |
|
| 696 |
- 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, |
|
| 697 |
- 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x92, 0x6c, 0xf2, 0xef, 0x26, |
|
| 698 |
- 0xb5, 0x1a, 0x38, 0x41, 0xe8, 0xba, 0xb8, 0x11, 0x0d, 0x58, 0x18, 0x51, 0x86, 0x66, |
|
| 699 |
- 0xbb, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, |
|
| 700 |
- 0xfa, 0x0d, 0xd4, 0x11, 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, 0x94, 0x11, |
|
| 701 |
- 0xdd, 0x63, 0x62, 0x07, 0x59, 0x64, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, |
|
| 702 |
- 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x44, 0x47, 0xd1, |
|
| 703 |
- 0x2f, 0x41, 0x3c, 0x06, 0x8d, 0x07, 0xa9, 0x7c, 0xa7, 0xaa, 0x35, 0x1c, 0x2e, 0xdf, |
|
| 704 |
- 0x94, 0x44, 0xaa, 0x31, 0x47, 0xba, 0xf8, 0x32, 0x82, 0xef, 0xf5, 0xa1, 0xe9, 0x6e, |
|
| 705 |
- 0xd2, 0x3f, 0x2f, 0x40, 0x3f, 0x3a, 0x53, 0xd1, 0x7e, 0xce, 0x0c, 0x2b, 0x4c, 0xb3, |
|
| 706 |
- 0xfa, 0x07, 0x41, 0x9d, 0x22, 0xf3, 0x6a, 0x79, 0x90, 0x8c, 0xa9, 0x7c, 0xee, 0x58, |
|
| 707 |
- 0x0b, 0x16, 0x0d, 0x36, 0x8c, 0x1c, 0x2c, 0x5e, 0x56, 0xc4, 0x5d, 0x5a, 0xff, 0x71, |
|
| 708 |
- 0xe5, 0x0a, 0xe8, 0x6e, 0x8d, 0x98, 0x85, 0x55, 0xb7, 0xaf, 0x72, 0x3d, 0xec, 0xa5, |
|
| 709 |
- 0xea, 0x2c, 0xfb, 0x90, 0x01, 0x75, 0x4f, 0x46, 0x10, 0x88, 0x91, 0x71, 0xf5, 0xd8, |
|
| 710 |
- 0xe8, 0x7c, 0xd4, 0x69, 0x7f, 0x04, 0x39, 0xec, 0x65, 0x1a, 0x7c, 0x3c, 0xb0, 0xc0, |
|
| 711 |
- 0x52, 0xf9, 0x84, 0x05, 0xf9, 0x1b, 0x47, 0xc6, 0xd2, 0x38, 0xf3, 0x6e, 0x3b, |
|
| 712 |
- ], |
|
| 713 |
- }, |
|
| 714 |
-]; |
|
| 715 |
- |
|
| 716 |
-// FairPlay intermediate and root certificates, concatenated DER. |
|
| 717 |
-pub(super) const CERTIFICATE_AUTHORITY_CHAIN: &[u8] = &[ |
|
| 718 |
- 0x30, 0x82, 0x03, 0x71, 0x30, 0x82, 0x02, 0x59, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x01, 0x11, |
|
| 719 |
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, |
|
| 720 |
- 0x62, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, |
|
| 721 |
- 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, |
|
| 722 |
- 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, |
|
| 723 |
- 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, |
|
| 724 |
- 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, 0x16, 0x30, 0x14, 0x06, |
|
| 725 |
- 0x03, 0x55, 0x04, 0x03, 0x13, 0x0d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x52, 0x6f, 0x6f, 0x74, |
|
| 726 |
- 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x37, 0x30, 0x32, 0x31, 0x34, 0x31, 0x39, 0x32, |
|
| 727 |
- 0x30, 0x34, 0x31, 0x5a, 0x17, 0x0d, 0x31, 0x32, 0x30, 0x32, 0x31, 0x34, 0x31, 0x39, 0x32, 0x30, |
|
| 728 |
- 0x34, 0x31, 0x5a, 0x30, 0x7b, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, |
|
| 729 |
- 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, 0x70, 0x70, |
|
| 730 |
- 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, 0x03, 0x55, 0x04, 0x0b, |
|
| 731 |
- 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, |
|
| 732 |
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x31, |
|
| 733 |
- 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x26, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, |
|
| 734 |
- 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, |
|
| 735 |
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 736 |
- 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, |
|
| 737 |
- 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xb2, 0x67, 0x3c, |
|
| 738 |
- 0x5d, 0x2a, 0xe7, 0x8f, 0xf2, 0x77, 0xcf, 0xef, 0x31, 0xbc, 0xd1, 0x04, 0xfd, 0xea, 0x9f, 0xd0, |
|
| 739 |
- 0x86, 0x29, 0x90, 0x0a, 0xa3, 0xff, 0x64, 0x4a, 0xef, 0x69, 0xf4, 0x0a, 0xb9, 0xef, 0xc4, 0xc4, |
|
| 740 |
- 0x63, 0xca, 0x3a, 0x2d, 0x21, 0x3d, 0x52, 0x8c, 0x23, 0x89, 0x29, 0xaa, 0xdb, 0x17, 0xdc, 0xcb, |
|
| 741 |
- 0x28, 0xc4, 0x69, 0xcd, 0x72, 0x24, 0xc2, 0x10, 0xc1, 0xf4, 0x78, 0x1d, 0x31, 0x16, 0xc5, 0xe6, |
|
| 742 |
- 0xea, 0x19, 0x1d, 0x2a, 0x33, 0xbe, 0x80, 0xab, 0xdc, 0x11, 0x48, 0x06, 0x2a, 0x1f, 0x0e, 0x61, |
|
| 743 |
- 0x81, 0xcd, 0x79, 0x9a, 0x5d, 0x12, 0xf4, 0x84, 0x90, 0xc8, 0x7c, 0xf6, 0x78, 0x9b, 0x52, 0xf8, |
|
| 744 |
- 0xfa, 0xf1, 0x88, 0x6e, 0x10, 0x72, 0xf8, 0x5d, 0xcb, 0x88, 0xec, 0xb6, 0x55, 0x14, 0x97, 0xa4, |
|
| 745 |
- 0x4d, 0x0b, 0xc1, 0x4f, 0x27, 0x67, 0x99, 0xa6, 0xa4, 0xb3, 0xd7, 0xda, 0xad, 0x02, 0x03, 0x01, |
|
| 746 |
- 0x00, 0x01, 0xa3, 0x81, 0x9c, 0x30, 0x81, 0x99, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, |
|
| 747 |
- 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, |
|
| 748 |
- 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, |
|
| 749 |
- 0x04, 0x16, 0x04, 0x14, 0xfa, 0x0d, 0xd4, 0x11, 0x91, 0x1b, 0xe6, 0xb2, 0x4e, 0x1e, 0x06, 0x49, |
|
| 750 |
- 0x94, 0x11, 0xdd, 0x63, 0x62, 0x07, 0x59, 0x64, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, |
|
| 751 |
- 0x18, 0x30, 0x16, 0x80, 0x14, 0x2b, 0xd0, 0x69, 0x47, 0x94, 0x76, 0x09, 0xfe, 0xf4, 0x6b, 0x8d, |
|
| 752 |
- 0x2e, 0x40, 0xa6, 0xf7, 0x47, 0x4d, 0x7f, 0x08, 0x5e, 0x30, 0x36, 0x06, 0x03, 0x55, 0x1d, 0x1f, |
|
| 753 |
- 0x04, 0x2f, 0x30, 0x2d, 0x30, 0x2b, 0xa0, 0x29, 0xa0, 0x27, 0x86, 0x25, 0x68, 0x74, 0x74, 0x70, |
|
| 754 |
- 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, |
|
| 755 |
- 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x63, 0x61, 0x2f, 0x72, 0x6f, 0x6f, 0x74, 0x2e, 0x63, 0x72, |
|
| 756 |
- 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, |
|
| 757 |
- 0x03, 0x82, 0x01, 0x01, 0x00, 0xc0, 0xa0, 0x73, 0xf8, 0x1d, 0xea, 0x1c, 0xd1, 0xcd, 0xc5, 0x86, |
|
| 758 |
- 0x75, 0xa4, 0xbb, 0xeb, 0x40, 0xc5, 0x6a, 0x2d, 0x0c, 0xfe, 0x5b, 0xfc, 0x6e, 0xc1, 0x5b, 0xd7, |
|
| 759 |
- 0x48, 0x7d, 0x40, 0xa9, 0x61, 0x2d, 0x4b, 0x37, 0x70, 0x38, 0xef, 0x06, 0x91, 0x4b, 0xaf, 0x11, |
|
| 760 |
- 0xc2, 0x1f, 0x95, 0xee, 0x88, 0x33, 0x6f, 0x5f, 0x72, 0xea, 0xf6, 0xd5, 0x76, 0xb5, 0x57, 0x58, |
|
| 761 |
- 0x71, 0xf0, 0x3e, 0x10, 0xc3, 0xd5, 0x2e, 0xbb, 0x2f, 0xa6, 0x3a, 0x73, 0xc2, 0x32, 0x65, 0x0a, |
|
| 762 |
- 0x56, 0x04, 0x16, 0x19, 0x98, 0x4d, 0x0b, 0x78, 0x6d, 0xd0, 0xa3, 0x74, 0x64, 0x98, 0x54, 0xf4, |
|
| 763 |
- 0xa7, 0xd7, 0x1d, 0xa2, 0xff, 0x2a, 0xc3, 0x79, 0x00, 0xb2, 0x99, 0xe7, 0xe7, 0xbb, 0xd5, 0x06, |
|
| 764 |
- 0xa2, 0xeb, 0x49, 0x33, 0x69, 0x67, 0x41, 0x01, 0x99, 0xad, 0x68, 0xb0, 0xd3, 0x7a, 0xf4, 0x95, |
|
| 765 |
- 0xe0, 0xfd, 0x24, 0x88, 0x2a, 0x10, 0xe7, 0xa3, 0x68, 0xff, 0xad, 0x7b, 0xfa, 0xd9, 0xba, 0xf1, |
|
| 766 |
- 0xa5, 0x7f, 0xca, 0x93, 0xa2, 0xce, 0x03, 0x37, 0x03, 0x66, 0x85, 0x93, 0x05, 0x1b, 0x31, 0xf6, |
|
| 767 |
- 0x75, 0x82, 0x93, 0x2f, 0xd3, 0xf0, 0xda, 0x39, 0x37, 0x3d, 0x5f, 0xfe, 0xba, 0xcd, 0x9a, 0x70, |
|
| 768 |
- 0xc0, 0x06, 0x8b, 0x22, 0xee, 0xa9, 0xce, 0x04, 0x6e, 0x24, 0x69, 0x3b, 0x16, 0x52, 0xa5, 0xc0, |
|
| 769 |
- 0xf2, 0xc0, 0xae, 0x43, 0x70, 0x84, 0xbb, 0x21, 0x91, 0x43, 0xcb, 0xbb, 0xb7, 0xea, 0x5b, 0xba, |
|
| 770 |
- 0x93, 0xe0, 0xb7, 0x77, 0x89, 0xef, 0x4d, 0x56, 0x04, 0x33, 0x5d, 0xce, 0x5c, 0x59, 0x31, 0xa7, |
|
| 771 |
- 0xd7, 0x3b, 0x45, 0x56, 0x11, 0xcd, 0xae, 0xcb, 0x9b, 0x0e, 0xa0, 0xcf, 0xdc, 0x93, 0xa8, 0xca, |
|
| 772 |
- 0xc5, 0x58, 0x78, 0x00, 0x05, 0xd9, 0x99, 0xab, 0xd6, 0x5e, 0x87, 0xea, 0x92, 0x73, 0x34, 0x54, |
|
| 773 |
- 0xa3, 0x93, 0x18, 0xa4, 0x83, 0x30, 0x82, 0x04, 0xbb, 0x30, 0x82, 0x03, 0xa3, 0xa0, 0x03, 0x02, |
|
| 774 |
- 0x01, 0x02, 0x02, 0x01, 0x02, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, |
|
| 775 |
- 0x01, 0x05, 0x05, 0x00, 0x30, 0x62, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, |
|
| 776 |
- 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0a, 0x41, 0x70, |
|
| 777 |
- 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, 0x06, 0x03, 0x55, 0x04, |
|
| 778 |
- 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, |
|
| 779 |
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, |
|
| 780 |
- 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0d, 0x41, 0x70, 0x70, 0x6c, 0x65, |
|
| 781 |
- 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x36, 0x30, 0x34, |
|
| 782 |
- 0x32, 0x35, 0x32, 0x31, 0x34, 0x30, 0x33, 0x36, 0x5a, 0x17, 0x0d, 0x33, 0x35, 0x30, 0x32, 0x30, |
|
| 783 |
- 0x39, 0x32, 0x31, 0x34, 0x30, 0x33, 0x36, 0x5a, 0x30, 0x62, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, |
|
| 784 |
- 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0a, |
|
| 785 |
- 0x13, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x26, 0x30, 0x24, |
|
| 786 |
- 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x1d, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x20, 0x43, 0x65, 0x72, |
|
| 787 |
- 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, |
|
| 788 |
- 0x72, 0x69, 0x74, 0x79, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0d, 0x41, |
|
| 789 |
- 0x70, 0x70, 0x6c, 0x65, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, |
|
| 790 |
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, |
|
| 791 |
- 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xe4, 0x91, 0xa9, |
|
| 792 |
- 0x09, 0x1f, 0x91, 0xdb, 0x1e, 0x47, 0x50, 0xeb, 0x05, 0xed, 0x5e, 0x79, 0x84, 0x2d, 0xeb, 0x36, |
|
| 793 |
- 0xa2, 0x57, 0x4c, 0x55, 0xec, 0x8b, 0x19, 0x89, 0xde, 0xf9, 0x4b, 0x6c, 0xf5, 0x07, 0xab, 0x22, |
|
| 794 |
- 0x30, 0x02, 0xe8, 0x18, 0x3e, 0xf8, 0x50, 0x09, 0xd3, 0x7f, 0x41, 0xa8, 0x98, 0xf9, 0xd1, 0xca, |
|
| 795 |
- 0x66, 0x9c, 0x24, 0x6b, 0x11, 0xd0, 0xa3, 0xbb, 0xe4, 0x1b, 0x2a, 0xc3, 0x1f, 0x95, 0x9e, 0x7a, |
|
| 796 |
- 0x0c, 0xa4, 0x47, 0x8b, 0x5b, 0xd4, 0x16, 0x37, 0x33, 0xcb, 0xc4, 0x0f, 0x4d, 0xce, 0x14, 0x69, |
|
| 797 |
- 0xd1, 0xc9, 0x19, 0x72, 0xf5, 0x5d, 0x0e, 0xd5, 0x7f, 0x5f, 0x9b, 0xf2, 0x25, 0x03, 0xba, 0x55, |
|
| 798 |
- 0x8f, 0x4d, 0x5d, 0x0d, 0xf1, 0x64, 0x35, 0x23, 0x15, 0x4b, 0x15, 0x59, 0x1d, 0xb3, 0x94, 0xf7, |
|
| 799 |
- 0xf6, 0x9c, 0x9e, 0xcf, 0x50, 0xba, 0xc1, 0x58, 0x50, 0x67, 0x8f, 0x08, 0xb4, 0x20, 0xf7, 0xcb, |
|
| 800 |
- 0xac, 0x2c, 0x20, 0x6f, 0x70, 0xb6, 0x3f, 0x01, 0x30, 0x8c, 0xb7, 0x43, 0xcf, 0x0f, 0x9d, 0x3d, |
|
| 801 |
- 0xf3, 0x2b, 0x49, 0x28, 0x1a, 0xc8, 0xfe, 0xce, 0xb5, 0xb9, 0x0e, 0xd9, 0x5e, 0x1c, 0xd6, 0xcb, |
|
| 802 |
- 0x3d, 0xb5, 0x3a, 0xad, 0xf4, 0x0f, 0x0e, 0x00, 0x92, 0x0b, 0xb1, 0x21, 0x16, 0x2e, 0x74, 0xd5, |
|
| 803 |
- 0x3c, 0x0d, 0xdb, 0x62, 0x16, 0xab, 0xa3, 0x71, 0x92, 0x47, 0x53, 0x55, 0xc1, 0xaf, 0x2f, 0x41, |
|
| 804 |
- 0xb3, 0xf8, 0xfb, 0xe3, 0x70, 0xcd, 0xe6, 0xa3, 0x4c, 0x45, 0x7e, 0x1f, 0x4c, 0x6b, 0x50, 0x96, |
|
| 805 |
- 0x41, 0x89, 0xc4, 0x74, 0x62, 0x0b, 0x10, 0x83, 0x41, 0x87, 0x33, 0x8a, 0x81, 0xb1, 0x30, 0x58, |
|
| 806 |
- 0xec, 0x5a, 0x04, 0x32, 0x8c, 0x68, 0xb3, 0x8f, 0x1d, 0xde, 0x65, 0x73, 0xff, 0x67, 0x5e, 0x65, |
|
| 807 |
- 0xbc, 0x49, 0xd8, 0x76, 0x9f, 0x33, 0x14, 0x65, 0xa1, 0x77, 0x94, 0xc9, 0x2d, 0x02, 0x03, 0x01, |
|
| 808 |
- 0x00, 0x01, 0xa3, 0x82, 0x01, 0x7a, 0x30, 0x82, 0x01, 0x76, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, |
|
| 809 |
- 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, |
|
| 810 |
- 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x1d, 0x06, 0x03, 0x55, |
|
| 811 |
- 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x2b, 0xd0, 0x69, 0x47, 0x94, 0x76, 0x09, 0xfe, 0xf4, 0x6b, |
|
| 812 |
- 0x8d, 0x2e, 0x40, 0xa6, 0xf7, 0x47, 0x4d, 0x7f, 0x08, 0x5e, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, |
|
| 813 |
- 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x2b, 0xd0, 0x69, 0x47, 0x94, 0x76, 0x09, 0xfe, 0xf4, |
|
| 814 |
- 0x6b, 0x8d, 0x2e, 0x40, 0xa6, 0xf7, 0x47, 0x4d, 0x7f, 0x08, 0x5e, 0x30, 0x82, 0x01, 0x11, 0x06, |
|
| 815 |
- 0x03, 0x55, 0x1d, 0x20, 0x04, 0x82, 0x01, 0x08, 0x30, 0x82, 0x01, 0x04, 0x30, 0x82, 0x01, 0x00, |
|
| 816 |
- 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x63, 0x64, 0x05, 0x01, 0x30, 0x81, 0xf2, 0x30, 0x2a, |
|
| 817 |
- 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1e, 0x68, 0x74, 0x74, 0x70, |
|
| 818 |
- 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, |
|
| 819 |
- 0x6d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x63, 0x61, 0x2f, 0x30, 0x81, 0xc3, 0x06, 0x08, 0x2b, |
|
| 820 |
- 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x02, 0x30, 0x81, 0xb6, 0x1a, 0x81, 0xb3, 0x52, 0x65, 0x6c, |
|
| 821 |
- 0x69, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x63, 0x65, |
|
| 822 |
- 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x62, 0x79, 0x20, 0x61, 0x6e, 0x79, |
|
| 823 |
- 0x20, 0x70, 0x61, 0x72, 0x74, 0x79, 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x20, 0x61, |
|
| 824 |
- 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, |
|
| 825 |
- 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, |
|
| 826 |
- 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x20, |
|
| 827 |
- 0x61, 0x6e, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, |
|
| 828 |
- 0x66, 0x20, 0x75, 0x73, 0x65, 0x2c, 0x20, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
|
| 829 |
- 0x74, 0x65, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x65, |
|
| 830 |
- 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x72, 0x61, 0x63, |
|
| 831 |
- 0x74, 0x69, 0x63, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, |
|
| 832 |
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, |
|
| 833 |
- 0x82, 0x01, 0x01, 0x00, 0x5c, 0x36, 0x99, 0x4c, 0x2d, 0x78, 0xb7, 0xed, 0x8c, 0x9b, 0xdc, 0xf3, |
|
| 834 |
- 0x77, 0x9b, 0xf2, 0x76, 0xd2, 0x77, 0x30, 0x4f, 0xc1, 0x1f, 0x85, 0x83, 0x85, 0x1b, 0x99, 0x3d, |
|
| 835 |
- 0x47, 0x37, 0xf2, 0xa9, 0x9b, 0x40, 0x8e, 0x2c, 0xd4, 0xb1, 0x90, 0x12, 0xd8, 0xbe, 0xf4, 0x73, |
|
| 836 |
- 0x9b, 0xee, 0xd2, 0x64, 0x0f, 0xcb, 0x79, 0x4f, 0x34, 0xd8, 0xa2, 0x3e, 0xf9, 0x78, 0xff, 0x6b, |
|
| 837 |
- 0xc8, 0x07, 0xec, 0x7d, 0x39, 0x83, 0x8b, 0x53, 0x20, 0xd3, 0x38, 0xc4, 0xb1, 0xbf, 0x9a, 0x4f, |
|
| 838 |
- 0x0a, 0x6b, 0xff, 0x2b, 0xfc, 0x59, 0xa7, 0x05, 0x09, 0x7c, 0x17, 0x40, 0x56, 0x11, 0x1e, 0x74, |
|
| 839 |
- 0xd3, 0xb7, 0x8b, 0x23, 0x3b, 0x47, 0xa3, 0xd5, 0x6f, 0x24, 0xe2, 0xeb, 0xd1, 0xb7, 0x70, 0xdf, |
|
| 840 |
- 0x0f, 0x45, 0xe1, 0x27, 0xca, 0xf1, 0x6d, 0x78, 0xed, 0xe7, 0xb5, 0x17, 0x17, 0xa8, 0xdc, 0x7e, |
|
| 841 |
- 0x22, 0x35, 0xca, 0x25, 0xd5, 0xd9, 0x0f, 0xd6, 0x6b, 0xd4, 0xa2, 0x24, 0x23, 0x11, 0xf7, 0xa1, |
|
| 842 |
- 0xac, 0x8f, 0x73, 0x81, 0x60, 0xc6, 0x1b, 0x5b, 0x09, 0x2f, 0x92, 0xb2, 0xf8, 0x44, 0x48, 0xf0, |
|
| 843 |
- 0x60, 0x38, 0x9e, 0x15, 0xf5, 0x3d, 0x26, 0x67, 0x20, 0x8a, 0x33, 0x6a, 0xf7, 0x0d, 0x82, 0xcf, |
|
| 844 |
- 0xde, 0xeb, 0xa3, 0x2f, 0xf9, 0x53, 0x6a, 0x5b, 0x64, 0xc0, 0x63, 0x33, 0x77, 0xf7, 0x3a, 0x07, |
|
| 845 |
- 0x2c, 0x56, 0xeb, 0xda, 0x0f, 0x21, 0x0e, 0xda, 0xba, 0x73, 0x19, 0x4f, 0xb5, 0xd9, 0x36, 0x7f, |
|
| 846 |
- 0xc1, 0x87, 0x55, 0xd9, 0xa7, 0x99, 0xb9, 0x32, 0x42, 0xfb, 0xd8, 0xd5, 0x71, 0x9e, 0x7e, 0xa1, |
|
| 847 |
- 0x52, 0xb7, 0x1b, 0xbd, 0x93, 0x42, 0x24, 0x12, 0x2a, 0xc7, 0x0f, 0x1d, 0xb6, 0x4d, 0x9c, 0x5e, |
|
| 848 |
- 0x63, 0xc8, 0x4b, 0x80, 0x17, 0x50, 0xaa, 0x8a, 0xd5, 0xda, 0xe4, 0xfc, 0xd0, 0x09, 0x07, 0x37, |
|
| 849 |
- 0xb0, 0x75, 0x75, 0x21, |
|
| 850 |
-]; |
| ... | ... |
@@ -2,5 +2,11 @@ |
| 2 | 2 |
name = "fairplay" |
| 3 | 3 |
version = "0.1.0" |
| 4 | 4 |
edition = "2024" |
| 5 |
+description = "FairPlay page-key derivation and in-place encrypted region decryption" |
|
| 5 | 6 |
|
| 6 | 7 |
[dependencies] |
| 8 |
+aes = { version = "0.9.1", features = ["zeroize"] }
|
|
| 9 |
+cbc = { version = "0.2", features = ["zeroize"] }
|
|
| 10 |
+md-5 = "0.10.6" |
|
| 11 |
+thiserror = "2" |
|
| 12 |
+zeroize = "1" |
| ... | ... |
@@ -0,0 +1,59 @@ |
| 1 |
+# fairplay |
|
| 2 |
+ |
|
| 3 |
+Clean Rust port of https://github.com/EthanArbuckle/fairplay-decrypt. |
|
| 4 |
+ |
|
| 5 |
+A Rust library for the recovered FairPlay page-key algorithm and AES-128-CBC |
|
| 6 |
+decryption of protected executable regions. It has no IPA, bundle, filesystem, |
|
| 7 |
+Mach-O or device dependencies. The caller supplies the region and metadata. |
|
| 8 |
+ |
|
| 9 |
+```rust |
|
| 10 |
+use fairplay::{Decryptor, PageRecords, PAGE_SIZE};
|
|
| 11 |
+ |
|
| 12 |
+fn decrypt_selected_region( |
|
| 13 |
+ credential: &[u8; 16], |
|
| 14 |
+ sinf: &[u8], |
|
| 15 |
+ supf: &[u8], |
|
| 16 |
+ original_file_offset: u64, |
|
| 17 |
+ encrypted_region: &mut [u8], |
|
| 18 |
+) -> Result<usize, Box<dyn std::error::Error>> {
|
|
| 19 |
+ let decoder = Decryptor::from_sinf(credential, sinf)?; |
|
| 20 |
+ let records = PageRecords::from_supf(supf, 0x0100000c, 0)?; |
|
| 21 |
+ let first_page = u32::try_from(original_file_offset / PAGE_SIZE as u64)?; |
|
| 22 |
+ Ok(decoder.decrypt_region_in_place(encrypted_region, first_page, records)?) |
|
| 23 |
+} |
|
| 24 |
+``` |
|
| 25 |
+ |
|
| 26 |
+Cache a `Decryptor` for binaries sharing a SINF. `from_sinf_fields` accepts an |
|
| 27 |
+already parsed `SinfFields { name, iviv, private }`; `from_work_key` accepts the
|
|
| 28 |
+recovered 16-byte masked working key directly. A working key differs from the |
|
| 29 |
+saved credential and from an individual page AES key. |
|
| 30 |
+ |
|
| 31 |
+`PageRecords::from_bytes` borrows flat 32-byte records from an existing SUPF |
|
| 32 |
+parser. `from_supf` provides optional metadata parsing and selects an exact CPU |
|
| 33 |
+type/subtype; it supports SUPF 3/5 and tags 507/510/612. SINF decoding handles |
|
| 34 |
+both 440-byte and 448-byte private records. No code parses the executable. |
|
| 35 |
+ |
|
| 36 |
+## Caller responsibilities |
|
| 37 |
+ |
|
| 38 |
+- Pass only the protected region, containing a nonzero whole number of |
|
| 39 |
+ 4096-byte pages. Decryption resets CBC with each record's IV and removes no |
|
| 40 |
+ padding. Extra SUPF records are allowed. |
|
| 41 |
+- Compute the first absolute page index from the original complete executable |
|
| 42 |
+ offset. For a FAT binary this includes the architecture slice's file base: |
|
| 43 |
+ `(slice_base + cryptoff) / 4096`. Do not reset it to zero for a section or slice. |
|
| 44 |
+- Match the SUPF architecture and record range to the selected region. Records |
|
| 45 |
+ start at the beginning of the protected region. For a later subregion, advance |
|
| 46 |
+ both `first_page_index` and the record range via `records.slice(start..end)`. |
|
| 47 |
+- Clear the executable's encryption flag only after decryption succeeds, and |
|
| 48 |
+ handle bundle metadata, signing and output publication in the consuming code. |
|
| 49 |
+ |
|
| 50 |
+For page-at-a-time or parallel processing, `PageRecords::get` provides a |
|
| 51 |
+`PageRecord` for `decrypt_page_in_place`. `derive_page_key` is available when |
|
| 52 |
+another component owns CBC decryption. The decoder can be shared across threads. |
|
| 53 |
+ |
|
| 54 |
+Region decryption allocates no buffers. Size, record count and page-index |
|
| 55 |
+validation happens before mutation. Those checks do not authenticate page |
|
| 56 |
+ciphertext: the recovered scheme uses CBC without an authentication tag. The |
|
| 57 |
+SINF private record's markers detect credentials that fail its decoding check. |
|
| 58 |
+Secrets are omitted from Debug and temporary SINF keys/plaintext and AES key |
|
| 59 |
+schedules use zeroization. |
| ... | ... |
@@ -0,0 +1,118 @@ |
| 1 |
+use aes::cipher::{BlockModeDecrypt, KeyIvInit, block_padding::NoPadding};
|
|
| 2 |
+use md5::{Digest, Md5};
|
|
| 3 |
+use zeroize::Zeroizing; |
|
| 4 |
+ |
|
| 5 |
+use crate::{Error, SinfFields};
|
|
| 6 |
+ |
|
| 7 |
+pub(crate) const WORK_MASK: [u8; 16] = [ |
|
| 8 |
+ 0xc7, 0x62, 0x61, 0x10, 0xce, 0xcd, 0x15, 0x96, 0x3d, 0x85, 0x0f, 0x66, 0x05, 0xf1, 0x1c, 0x4b, |
|
| 9 |
+]; |
|
| 10 |
+const ROUND_WORDS: [u32; 4] = [ |
|
| 11 |
+ 0x6ee6b74f ^ 0x06b2cb61, |
|
| 12 |
+ 0x78b72abf ^ 0x06b2cb61, |
|
| 13 |
+ 0xd227c8ea ^ 0x06b2cb61, |
|
| 14 |
+ 0x0c0081bc ^ 0x06b2cb61, |
|
| 15 |
+]; |
|
| 16 |
+const FINAL_WORDS: [u32; 4] = [0x5b7198c7, 0xeb5de22c, 0x0f8aa8fa, 0xf6e1bb3f]; |
|
| 17 |
+ |
|
| 18 |
+/// The caller guarantees complete AES blocks; no padding is added or removed. |
|
| 19 |
+pub(crate) fn decrypt_cbc(key: &[u8; 16], iv: &[u8; 16], data: &mut [u8]) {
|
|
| 20 |
+ cbc::Decryptor::<aes::Aes128>::new(key.into(), iv.into()) |
|
| 21 |
+ .decrypt_padded::<NoPadding>(data) |
|
| 22 |
+ .expect("validated whole AES blocks");
|
|
| 23 |
+} |
|
| 24 |
+ |
|
| 25 |
+pub(crate) fn derive_work_key( |
|
| 26 |
+ credential: &[u8; 16], |
|
| 27 |
+ fields: SinfFields<'_>, |
|
| 28 |
+) -> Result<[u8; 16], Error> {
|
|
| 29 |
+ let private = match fields.private.len() {
|
|
| 30 |
+ 448 => fields.private, |
|
| 31 |
+ 440 if fields.private[432..] == [0; 8] => &fields.private[..432], |
|
| 32 |
+ 440 => return Err(Error::InvalidSinf("private record trailer is not zero")),
|
|
| 33 |
+ _ => {
|
|
| 34 |
+ return Err(Error::InvalidSinf( |
|
| 35 |
+ "private record must be 440 or 448 bytes", |
|
| 36 |
+ )); |
|
| 37 |
+ } |
|
| 38 |
+ }; |
|
| 39 |
+ let iviv: &[u8; 16] = fields |
|
| 40 |
+ .iviv |
|
| 41 |
+ .try_into() |
|
| 42 |
+ .map_err(|_| Error::InvalidSinf("iviv must contain 16 bytes"))?;
|
|
| 43 |
+ let name_end = fields |
|
| 44 |
+ .name |
|
| 45 |
+ .iter() |
|
| 46 |
+ .position(|byte| *byte == 0) |
|
| 47 |
+ .unwrap_or(fields.name.len()); |
|
| 48 |
+ let mut hash = Md5::new(); |
|
| 49 |
+ hash.update(&fields.name[..name_end]); |
|
| 50 |
+ hash.update(iviv); |
|
| 51 |
+ let iv: [u8; 16] = hash.finalize().into(); |
|
| 52 |
+ let mut key = Zeroizing::new(*credential); |
|
| 53 |
+ for byte in key.iter_mut() {
|
|
| 54 |
+ *byte ^= b'0'; |
|
| 55 |
+ } |
|
| 56 |
+ let mut clear = Zeroizing::new(private.to_vec()); |
|
| 57 |
+ decrypt_cbc(&key, &iv, &mut clear); |
|
| 58 |
+ if &clear[..4] != b"itun" || &clear[20..24] != b"key " || &clear[44..48] != b"iviv" {
|
|
| 59 |
+ return Err(Error::InvalidCredential); |
|
| 60 |
+ } |
|
| 61 |
+ Ok(std::array::from_fn(|index| {
|
|
| 62 |
+ clear[24 + index] ^ WORK_MASK[index] |
|
| 63 |
+ })) |
|
| 64 |
+} |
|
| 65 |
+ |
|
| 66 |
+fn square_words(sums: [u32; 4]) -> [u32; 4] {
|
|
| 67 |
+ // Each sum has at most 17 bits. Multiplication wraps, but its carry |
|
| 68 |
+ // correction is XORed back in; omitting it changes the recovered network. |
|
| 69 |
+ std::array::from_fn(|i| sums[i].wrapping_mul(sums[i]) ^ (sums[i] >> 16) ^ ROUND_WORDS[i]) |
|
| 70 |
+} |
|
| 71 |
+ |
|
| 72 |
+/// Four corrected-square rounds, folded 64-bit squares, then feedforward. |
|
| 73 |
+/// Byte order is big-endian halfwords; packed round words are low half first. |
|
| 74 |
+pub(crate) fn finish(input: &[u8; 16]) -> [u8; 16] {
|
|
| 75 |
+ let initial: [u32; 8] = |
|
| 76 |
+ std::array::from_fn(|i| u32::from(u16::from_be_bytes([input[2 * i], input[2 * i + 1]]))); |
|
| 77 |
+ let [a, b, c, d] = square_words([ |
|
| 78 |
+ initial[0] + initial[1], |
|
| 79 |
+ initial[2] + initial[3], |
|
| 80 |
+ initial[4] + initial[5], |
|
| 81 |
+ initial[6] + initial[7], |
|
| 82 |
+ ]); |
|
| 83 |
+ let [a, b, c, d] = square_words([ |
|
| 84 |
+ (b & 65535) + (a >> 16), |
|
| 85 |
+ (a & 65535) + (b >> 16), |
|
| 86 |
+ (c & 65535) + (d >> 16), |
|
| 87 |
+ (d & 65535) + (c >> 16), |
|
| 88 |
+ ]); |
|
| 89 |
+ let [a, b, c, d] = square_words([ |
|
| 90 |
+ (b & 65535) + (a & 65535), |
|
| 91 |
+ (c & 65535) + (a >> 16), |
|
| 92 |
+ (d & 65535) + (b >> 16), |
|
| 93 |
+ (d >> 16) + (c >> 16), |
|
| 94 |
+ ]); |
|
| 95 |
+ let [a, b, c, d] = square_words([ |
|
| 96 |
+ (a >> 16) + (b & 65535), |
|
| 97 |
+ (c & 65535) + (a & 65535), |
|
| 98 |
+ (d >> 16) + (b >> 16), |
|
| 99 |
+ (d & 65535) + (c >> 16), |
|
| 100 |
+ ]); |
|
| 101 |
+ // Wrap before squaring; retain all 64 bits of each final square. |
|
| 102 |
+ let sums = [ |
|
| 103 |
+ a.wrapping_add(b), |
|
| 104 |
+ ((a & 65535) + (c & 65535)).wrapping_add(((b & 65535) + (d & 65535)) << 16), |
|
| 105 |
+ ((a & 65535) + (c >> 16)).wrapping_add(((b >> 16) + (d >> 16)) << 16), |
|
| 106 |
+ c.wrapping_add(d), |
|
| 107 |
+ ]; |
|
| 108 |
+ let mut output = [0; 16]; |
|
| 109 |
+ for (i, sum) in sums.into_iter().enumerate() {
|
|
| 110 |
+ let square = u64::from(sum) * u64::from(sum); |
|
| 111 |
+ let folded = square as u32 ^ (square >> 32) as u32 ^ FINAL_WORDS[i]; |
|
| 112 |
+ let low = (initial[2 * i] as u16 ^ folded as u16).to_be_bytes(); |
|
| 113 |
+ let high = (initial[2 * i + 1] as u16 ^ (folded >> 16) as u16).to_be_bytes(); |
|
| 114 |
+ output[4 * i..4 * i + 2].copy_from_slice(&low); |
|
| 115 |
+ output[4 * i + 2..4 * i + 4].copy_from_slice(&high); |
|
| 116 |
+ } |
|
| 117 |
+ output |
|
| 118 |
+} |
| ... | ... |
@@ -1 +1,150 @@ |
| 1 |
+//! FairPlay page-key derivation and in-place decryption of selected regions. |
|
| 2 |
+//! |
|
| 3 |
+//! The caller owns archive traversal, executable parsing, selecting the protected |
|
| 4 |
+//! region and clearing its encryption flag after successful decryption. Page |
|
| 5 |
+//! indices refer to the original complete executable, including any FAT prefix. |
|
| 6 |
+//! See [`Decryptor`] and [`PageRecords`] for the integration boundary. |
|
| 7 |
+ |
|
| 8 |
+#![doc = include_str!("../README.md")]
|
|
| 9 |
+ |
|
| 10 |
+mod crypto; |
|
| 11 |
+mod metadata; |
|
| 12 |
+ |
|
| 13 |
+use aes::Aes128; |
|
| 14 |
+use aes::cipher::{BlockCipherEncrypt, KeyInit};
|
|
| 15 |
+use zeroize::Zeroizing; |
|
| 16 |
+ |
|
| 17 |
+pub use metadata::{PageRecord, PageRecords, SinfFields};
|
|
| 18 |
+ |
|
| 19 |
+/// Number of bytes independently encrypted with each SUPF page record. |
|
| 20 |
+pub const PAGE_SIZE: usize = 4096; |
|
| 21 |
+ |
|
| 22 |
+/// Errors detected before a region is modified. |
|
| 23 |
+#[derive(Debug, thiserror::Error, PartialEq, Eq)] |
|
| 24 |
+pub enum Error {
|
|
| 25 |
+ #[error("invalid SINF: {0}")]
|
|
| 26 |
+ InvalidSinf(&'static str), |
|
| 27 |
+ #[error("credential does not decode this SINF private record")]
|
|
| 28 |
+ InvalidCredential, |
|
| 29 |
+ #[error("invalid SUPF: {0}")]
|
|
| 30 |
+ InvalidSupf(&'static str), |
|
| 31 |
+ #[error("SUPF does not contain CPU {cpu_type:#x}, subtype {cpu_subtype:#x}")]
|
|
| 32 |
+ ArchitectureNotFound { cpu_type: u32, cpu_subtype: u32 },
|
|
| 33 |
+ #[error("encrypted region must contain a nonzero whole number of 4096-byte pages")]
|
|
| 34 |
+ InvalidRegionLength, |
|
| 35 |
+ #[error("need {required} SUPF page records, found {available}")]
|
|
| 36 |
+ InsufficientRecords { required: usize, available: usize },
|
|
| 37 |
+ #[error("absolute page indices exceed the 32-bit key derivation range")]
|
|
| 38 |
+ PageIndexOverflow, |
|
| 39 |
+} |
|
| 40 |
+ |
|
| 41 |
+/// A cached AES key schedule shared by all pages using the same SINF. |
|
| 42 |
+/// |
|
| 43 |
+/// Construct from a saved 16-byte credential and SINF, or from an already |
|
| 44 |
+/// recovered working key. No device calls, filesystem access or executable |
|
| 45 |
+/// parsing are performed. This type intentionally does not expose keys in Debug. |
|
| 46 |
+pub struct Decryptor {
|
|
| 47 |
+ cipher: Aes128, |
|
| 48 |
+} |
|
| 49 |
+ |
|
| 50 |
+impl Decryptor {
|
|
| 51 |
+ /// Decode the SINF private record and cache the page-derivation key schedule. |
|
| 52 |
+ pub fn from_sinf(credential: &[u8; 16], sinf: &[u8]) -> Result<Self, Error> {
|
|
| 53 |
+ Self::from_sinf_fields(credential, SinfFields::parse(sinf)?) |
|
| 54 |
+ } |
|
| 55 |
+ |
|
| 56 |
+ /// Accept fields already extracted by the caller's SINF parser. |
|
| 57 |
+ pub fn from_sinf_fields(credential: &[u8; 16], fields: SinfFields<'_>) -> Result<Self, Error> {
|
|
| 58 |
+ let work = Zeroizing::new(crypto::derive_work_key(credential, fields)?); |
|
| 59 |
+ Ok(Self::from_work_key(&work)) |
|
| 60 |
+ } |
|
| 61 |
+ |
|
| 62 |
+ /// Use the 16-byte working key returned by the recovered SINF algorithm. |
|
| 63 |
+ /// |
|
| 64 |
+ /// This is the masked working key, not the credential or a page AES key. |
|
| 65 |
+ pub fn from_work_key(work: &[u8; 16]) -> Self {
|
|
| 66 |
+ let mut key = Zeroizing::new(*work); |
|
| 67 |
+ for (byte, mask) in key.iter_mut().zip(crypto::WORK_MASK) {
|
|
| 68 |
+ *byte ^= mask; |
|
| 69 |
+ } |
|
| 70 |
+ Self {
|
|
| 71 |
+ cipher: Aes128::new((&*key).into()), |
|
| 72 |
+ } |
|
| 73 |
+ } |
|
| 74 |
+ |
|
| 75 |
+ /// Derive a page AES key from its wrapped SUPF key and absolute page index. |
|
| 76 |
+ pub fn derive_page_key(&self, wrapped: &[u8; 16], absolute_page_index: u32) -> [u8; 16] {
|
|
| 77 |
+ let offset = (u64::from(absolute_page_index) << 12).to_be_bytes(); |
|
| 78 |
+ // The recovered context masks cancel exactly: |
|
| 79 |
+ // 3e4a45b664eba141 ^ 2d43fbf6ed1b8833 ^ 1309be4089f02972 == 0. |
|
| 80 |
+ let mut blocks = [aes::cipher::Block::<Aes128>::default(); 3]; |
|
| 81 |
+ blocks[0][..8].copy_from_slice(&wrapped[8..]); |
|
| 82 |
+ blocks[0][8..].copy_from_slice(&offset); |
|
| 83 |
+ blocks[1].copy_from_slice(wrapped); |
|
| 84 |
+ blocks[2][..8].copy_from_slice(&offset); |
|
| 85 |
+ blocks[2][8..].copy_from_slice(&wrapped[..8]); |
|
| 86 |
+ self.cipher.encrypt_blocks(&mut blocks); |
|
| 87 |
+ let mut state = [0; 16]; |
|
| 88 |
+ for block in blocks {
|
|
| 89 |
+ for (byte, input) in state.iter_mut().zip(block) {
|
|
| 90 |
+ *byte ^= input; |
|
| 91 |
+ } |
|
| 92 |
+ state = crypto::finish(&state); |
|
| 93 |
+ } |
|
| 94 |
+ state |
|
| 95 |
+ } |
|
| 96 |
+ |
|
| 97 |
+ /// Decrypt one complete page in place; CBC restarts with the record's IV. |
|
| 98 |
+ /// |
|
| 99 |
+ /// `absolute_page_index` is `original_file_offset / PAGE_SIZE`, not the |
|
| 100 |
+ /// page's position within a sliced region or within a FAT architecture. |
|
| 101 |
+ pub fn decrypt_page_in_place( |
|
| 102 |
+ &self, |
|
| 103 |
+ page: &mut [u8; PAGE_SIZE], |
|
| 104 |
+ absolute_page_index: u32, |
|
| 105 |
+ record: PageRecord<'_>, |
|
| 106 |
+ ) {
|
|
| 107 |
+ let key = Zeroizing::new(self.derive_page_key(record.wrapped_key(), absolute_page_index)); |
|
| 108 |
+ crypto::decrypt_cbc(&key, record.iv(), page); |
|
| 109 |
+ } |
|
| 110 |
+ |
|
| 111 |
+ /// Decrypt a caller-selected protected region without allocating a copy. |
|
| 112 |
+ /// |
|
| 113 |
+ /// `records` must start at the record for the first supplied page. For a |
|
| 114 |
+ /// subregion use [`PageRecords::slice`]. Extra records are allowed. Every |
|
| 115 |
+ /// size and index check completes before any byte is modified. Returns the |
|
| 116 |
+ /// number of decrypted pages; headers and encryption flags are caller-owned. |
|
| 117 |
+ pub fn decrypt_region_in_place( |
|
| 118 |
+ &self, |
|
| 119 |
+ region: &mut [u8], |
|
| 120 |
+ first_page_index: u32, |
|
| 121 |
+ records: PageRecords<'_>, |
|
| 122 |
+ ) -> Result<usize, Error> {
|
|
| 123 |
+ if region.is_empty() || !region.len().is_multiple_of(PAGE_SIZE) {
|
|
| 124 |
+ return Err(Error::InvalidRegionLength); |
|
| 125 |
+ } |
|
| 126 |
+ let count = region.len() / PAGE_SIZE; |
|
| 127 |
+ if records.len() < count {
|
|
| 128 |
+ return Err(Error::InsufficientRecords {
|
|
| 129 |
+ required: count, |
|
| 130 |
+ available: records.len(), |
|
| 131 |
+ }); |
|
| 132 |
+ } |
|
| 133 |
+ let last = u32::try_from(count - 1).map_err(|_| Error::PageIndexOverflow)?; |
|
| 134 |
+ first_page_index |
|
| 135 |
+ .checked_add(last) |
|
| 136 |
+ .ok_or(Error::PageIndexOverflow)?; |
|
| 137 |
+ for (index, page) in region.chunks_exact_mut(PAGE_SIZE).enumerate() {
|
|
| 138 |
+ // Sizes and availability are validated above for the whole region. |
|
| 139 |
+ self.decrypt_page_in_place( |
|
| 140 |
+ page.try_into().expect("complete page"),
|
|
| 141 |
+ first_page_index + index as u32, |
|
| 142 |
+ records.get(index).expect("validated record count"),
|
|
| 143 |
+ ); |
|
| 144 |
+ } |
|
| 145 |
+ Ok(count) |
|
| 146 |
+ } |
|
| 147 |
+} |
|
| 148 |
+ |
|
| 149 |
+/// Existing marker retained for compatibility with the original crate stub. |
|
| 1 | 150 |
pub trait FairPlayProxy {}
|
| ... | ... |
@@ -0,0 +1,153 @@ |
| 1 |
+use std::ops::Range; |
|
| 2 |
+ |
|
| 3 |
+use crate::Error; |
|
| 4 |
+ |
|
| 5 |
+/// Borrowed SINF fields, for callers that already parse the container. |
|
| 6 |
+#[derive(Clone, Copy)] |
|
| 7 |
+pub struct SinfFields<'a> {
|
|
| 8 |
+ pub name: &'a [u8], |
|
| 9 |
+ pub iviv: &'a [u8], |
|
| 10 |
+ pub private: &'a [u8], |
|
| 11 |
+} |
|
| 12 |
+ |
|
| 13 |
+impl<'a> SinfFields<'a> {
|
|
| 14 |
+ /// Parse one outer `sinf` atom containing exactly one `schi` container. |
|
| 15 |
+ /// Required fields must each occur once. Unknown sibling atoms are allowed. |
|
| 16 |
+ pub fn parse(sinf: &'a [u8]) -> Result<Self, Error> {
|
|
| 17 |
+ if sinf.len() < 8 || &sinf[4..8] != b"sinf" || be_u32(sinf) as usize != sinf.len() {
|
|
| 18 |
+ return Err(Error::InvalidSinf("expected one outer sinf atom"));
|
|
| 19 |
+ } |
|
| 20 |
+ let schi = unique_atom(&sinf[8..], b"schi")?; |
|
| 21 |
+ Ok(Self {
|
|
| 22 |
+ name: unique_atom(schi, b"name")?, |
|
| 23 |
+ iviv: unique_atom(schi, b"iviv")?, |
|
| 24 |
+ private: unique_atom(schi, b"priv")?, |
|
| 25 |
+ }) |
|
| 26 |
+ } |
|
| 27 |
+} |
|
| 28 |
+ |
|
| 29 |
+fn be_u32(bytes: &[u8]) -> u32 {
|
|
| 30 |
+ u32::from_be_bytes(bytes[..4].try_into().expect("validated four-byte field"))
|
|
| 31 |
+} |
|
| 32 |
+ |
|
| 33 |
+fn unique_atom<'a>(mut atoms: &'a [u8], tag: &[u8; 4]) -> Result<&'a [u8], Error> {
|
|
| 34 |
+ let mut found = None; |
|
| 35 |
+ while !atoms.is_empty() {
|
|
| 36 |
+ if atoms.len() < 8 {
|
|
| 37 |
+ return Err(Error::InvalidSinf("truncated atom header"));
|
|
| 38 |
+ } |
|
| 39 |
+ let size = be_u32(atoms) as usize; |
|
| 40 |
+ if size < 8 || size > atoms.len() {
|
|
| 41 |
+ return Err(Error::InvalidSinf( |
|
| 42 |
+ "atom size exceeds container or is shorter than header", |
|
| 43 |
+ )); |
|
| 44 |
+ } |
|
| 45 |
+ if &atoms[4..8] == tag && found.replace(&atoms[8..size]).is_some() {
|
|
| 46 |
+ return Err(Error::InvalidSinf("duplicate required atom"));
|
|
| 47 |
+ } |
|
| 48 |
+ atoms = &atoms[size..]; |
|
| 49 |
+ } |
|
| 50 |
+ found.ok_or(Error::InvalidSinf("missing required atom"))
|
|
| 51 |
+} |
|
| 52 |
+ |
|
| 53 |
+/// One borrowed 32-byte SUPF record: a wrapped page key followed by a CBC IV. |
|
| 54 |
+#[derive(Clone, Copy)] |
|
| 55 |
+pub struct PageRecord<'a>(&'a [u8; 32]); |
|
| 56 |
+ |
|
| 57 |
+impl<'a> PageRecord<'a> {
|
|
| 58 |
+ pub fn from_bytes(bytes: &'a [u8; 32]) -> Self {
|
|
| 59 |
+ Self(bytes) |
|
| 60 |
+ } |
|
| 61 |
+ |
|
| 62 |
+ pub fn wrapped_key(self) -> &'a [u8; 16] {
|
|
| 63 |
+ self.0[..16].try_into().expect("fixed-size record")
|
|
| 64 |
+ } |
|
| 65 |
+ |
|
| 66 |
+ pub fn iv(self) -> &'a [u8; 16] {
|
|
| 67 |
+ self.0[16..].try_into().expect("fixed-size record")
|
|
| 68 |
+ } |
|
| 69 |
+} |
|
| 70 |
+ |
|
| 71 |
+/// A validated, borrowed sequence of 32-byte page records, without allocations. |
|
| 72 |
+#[derive(Clone, Copy)] |
|
| 73 |
+pub struct PageRecords<'a>(&'a [u8]); |
|
| 74 |
+ |
|
| 75 |
+impl<'a> PageRecords<'a> {
|
|
| 76 |
+ /// Accept raw records already selected by the caller's SUPF parser. |
|
| 77 |
+ pub fn from_bytes(bytes: &'a [u8]) -> Result<Self, Error> {
|
|
| 78 |
+ if !bytes.len().is_multiple_of(32) {
|
|
| 79 |
+ return Err(Error::InvalidSupf("partial page record"));
|
|
| 80 |
+ } |
|
| 81 |
+ Ok(Self(bytes)) |
|
| 82 |
+ } |
|
| 83 |
+ |
|
| 84 |
+ /// Select an architecture by its exact Mach CPU type and subtype. |
|
| 85 |
+ /// |
|
| 86 |
+ /// Handles SUPF versions 3 and 5 and tags 507, 510 and 612. No executable |
|
| 87 |
+ /// parsing is performed. For the supported arm64 path use CPU `0x0100000c` |
|
| 88 |
+ /// and subtype `0`. The declared page count must fit in its architecture. |
|
| 89 |
+ pub fn from_supf(supf: &'a [u8], cpu_type: u32, cpu_subtype: u32) -> Result<Self, Error> {
|
|
| 90 |
+ if supf.len() < 12 |
|
| 91 |
+ || !matches!(supf[0], 3 | 5) |
|
| 92 |
+ || !matches!(&supf[1..4], b"507" | b"510" | b"612") |
|
| 93 |
+ {
|
|
| 94 |
+ return Err(Error::InvalidSupf("unsupported version or tag"));
|
|
| 95 |
+ } |
|
| 96 |
+ let header_size = if supf[0] == 3 { 32 } else { 12 };
|
|
| 97 |
+ let count = be_u32(&supf[8..]) as usize; |
|
| 98 |
+ if !(1..=16).contains(&count) {
|
|
| 99 |
+ return Err(Error::InvalidSupf("invalid architecture count"));
|
|
| 100 |
+ } |
|
| 101 |
+ let mut pos: usize = 12; |
|
| 102 |
+ for _ in 0..count {
|
|
| 103 |
+ let header_end = pos |
|
| 104 |
+ .checked_add(4 + header_size) |
|
| 105 |
+ .filter(|end| *end <= supf.len()) |
|
| 106 |
+ .ok_or(Error::InvalidSupf("truncated architecture header"))?;
|
|
| 107 |
+ let length = be_u32(&supf[pos..]) as usize; |
|
| 108 |
+ let end = pos |
|
| 109 |
+ .checked_add(4) |
|
| 110 |
+ .and_then(|start| start.checked_add(length)) |
|
| 111 |
+ .filter(|end| *end <= supf.len() && length >= header_size) |
|
| 112 |
+ .ok_or(Error::InvalidSupf("invalid architecture length"))?;
|
|
| 113 |
+ let cpu = be_u32(&supf[pos + 4..]); |
|
| 114 |
+ let subtype = be_u32(&supf[pos + 8..]); |
|
| 115 |
+ if cpu == cpu_type && subtype == cpu_subtype {
|
|
| 116 |
+ let pages = be_u32(&supf[pos + header_size..]) as usize; |
|
| 117 |
+ let records_end = pages |
|
| 118 |
+ .checked_mul(32) |
|
| 119 |
+ .and_then(|size| header_end.checked_add(size)) |
|
| 120 |
+ .filter(|records_end| *records_end <= end) |
|
| 121 |
+ .ok_or(Error::InvalidSupf("incomplete architecture page records"))?;
|
|
| 122 |
+ return Ok(Self(&supf[header_end..records_end])); |
|
| 123 |
+ } |
|
| 124 |
+ pos = end; |
|
| 125 |
+ } |
|
| 126 |
+ Err(Error::ArchitectureNotFound {
|
|
| 127 |
+ cpu_type, |
|
| 128 |
+ cpu_subtype, |
|
| 129 |
+ }) |
|
| 130 |
+ } |
|
| 131 |
+ |
|
| 132 |
+ pub fn len(self) -> usize {
|
|
| 133 |
+ self.0.len() / 32 |
|
| 134 |
+ } |
|
| 135 |
+ |
|
| 136 |
+ pub fn is_empty(self) -> bool {
|
|
| 137 |
+ self.0.is_empty() |
|
| 138 |
+ } |
|
| 139 |
+ |
|
| 140 |
+ pub fn get(self, index: usize) -> Option<PageRecord<'a>> {
|
|
| 141 |
+ let start = index.checked_mul(32)?; |
|
| 142 |
+ let bytes = self.0.get(start..start.checked_add(32)?)?; |
|
| 143 |
+ Some(PageRecord(bytes.try_into().expect("complete record")))
|
|
| 144 |
+ } |
|
| 145 |
+ |
|
| 146 |
+ /// Select records for a subregion, preserving their original order. |
|
| 147 |
+ /// The caller must advance the absolute page index by the same start value. |
|
| 148 |
+ pub fn slice(self, range: Range<usize>) -> Option<Self> {
|
|
| 149 |
+ self.0 |
|
| 150 |
+ .get(range.start.checked_mul(32)?..range.end.checked_mul(32)?) |
|
| 151 |
+ .map(Self) |
|
| 152 |
+ } |
|
| 153 |
+} |
| ... | ... |
@@ -0,0 +1,23 @@ |
| 1 |
+use crate::AppToken; |
|
| 2 |
+use serde::{Deserialize, Serialize};
|
|
| 3 |
+ |
|
| 4 |
+/// GrandSlam's password-equivalent token. |
|
| 5 |
+#[derive(Clone, Serialize, Deserialize)] |
|
| 6 |
+#[serde(transparent)] |
|
| 7 |
+pub struct PasswordEquivalentToken(String); |
|
| 8 |
+ |
|
| 9 |
+impl From<String> for PasswordEquivalentToken {
|
|
| 10 |
+ fn from(value: String) -> Self {
|
|
| 11 |
+ Self(value) |
|
| 12 |
+ } |
|
| 13 |
+} |
|
| 14 |
+ |
|
| 15 |
+impl AsRef<str> for PasswordEquivalentToken {
|
|
| 16 |
+ fn as_ref(&self) -> &str {
|
|
| 17 |
+ &self.0 |
|
| 18 |
+ } |
|
| 19 |
+} |
|
| 20 |
+ |
|
| 21 |
+impl AppToken for PasswordEquivalentToken {
|
|
| 22 |
+ const APP_TOKEN_IDENTIFIER: &'static str = "com.apple.gs.idms.pet"; |
|
| 23 |
+} |
| ... | ... |
@@ -1,32 +1,13 @@ |
| 1 | 1 |
use adi::proxy::{ADIError, ADIResult};
|
| 2 |
+use grandslam::AccountHTTPSession; |
|
| 2 | 3 |
use grandslam::plist_request::dict_to_body; |
| 3 |
-use grandslam::{AccountHTTPSession, AppToken};
|
|
| 4 | 4 |
use plist::{Dictionary, Value};
|
| 5 | 5 |
use plist_macros::dict; |
| 6 | 6 |
use reqwest::{Method, RequestBuilder};
|
| 7 | 7 |
use serde::{Deserialize, Serialize};
|
| 8 | 8 |
use thiserror::Error; |
| 9 | 9 |
|
| 10 |
-/// GrandSlam's password-equivalent token. Only used to establish iCloud credentials. |
|
| 11 |
-#[derive(Clone, Serialize, Deserialize)] |
|
| 12 |
-#[serde(transparent)] |
|
| 13 |
-pub struct PasswordEquivalentToken(String); |
|
| 14 |
- |
|
| 15 |
-impl From<String> for PasswordEquivalentToken {
|
|
| 16 |
- fn from(value: String) -> Self {
|
|
| 17 |
- Self(value) |
|
| 18 |
- } |
|
| 19 |
-} |
|
| 20 |
- |
|
| 21 |
-impl AsRef<str> for PasswordEquivalentToken {
|
|
| 22 |
- fn as_ref(&self) -> &str {
|
|
| 23 |
- &self.0 |
|
| 24 |
- } |
|
| 25 |
-} |
|
| 26 |
- |
|
| 27 |
-impl AppToken for PasswordEquivalentToken {
|
|
| 28 |
- const APP_TOKEN_IDENTIFIER: &'static str = "com.apple.gs.idms.pet"; |
|
| 29 |
-} |
|
| 10 |
+pub use grandslam::tokens::PasswordEquivalentToken; |
|
| 30 | 11 |
|
| 31 | 12 |
/// Numeric account ID returned by iCloud, distinct from GrandSlam's alternate ID. |
| 32 | 13 |
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] |
| ... | ... |
@@ -1,14 +0,0 @@ |
| 1 |
-[package] |
|
| 2 |
-name = "purple-builder" |
|
| 3 |
-version = "0.1.0" |
|
| 4 |
-edition = "2024" |
|
| 5 |
- |
|
| 6 |
-[dependencies] |
|
| 7 |
-adi = { workspace = true }
|
|
| 8 |
-elf-loader = { workspace = true }
|
|
| 9 |
-env_logger = "0.11.8" |
|
| 10 |
- |
|
| 11 |
-# gpui = "0.2" |
|
| 12 |
-# gpui-component = "0.3" |
|
| 13 |
-# # adabraka-ui = "0.2" |
|
| 14 |
-# anyhow = "1.0.100" |
| ... | ... |
@@ -1 +0,0 @@ |
| 1 |
-pub const APP_NAME: &str = "Purple Builder"; |
| ... | ... |
@@ -1,20 +0,0 @@ |
| 1 |
-mod identity; |
|
| 2 |
-mod main_window; |
|
| 3 |
-mod welcome_window; |
|
| 4 |
- |
|
| 5 |
-use crate::main_window::MainWindow; |
|
| 6 |
-use crate::welcome_window::WelcomeWindow; |
|
| 7 |
-use gpui::*; |
|
| 8 |
-use gpui_component::{ActiveTheme as _, Root, TitleBar, theme};
|
|
| 9 |
- |
|
| 10 |
-fn main() {
|
|
| 11 |
- let application = Application::new(); |
|
| 12 |
- |
|
| 13 |
- application.run(|cx: &mut App| {
|
|
| 14 |
- gpui_component::init(cx); |
|
| 15 |
- // theme::init(cx); |
|
| 16 |
- |
|
| 17 |
- //WelcomeWindow::new(cx).expect("Could not create WelcomeWindow.");
|
|
| 18 |
- MainWindow::new(cx).expect("Could not create MainWindow.");
|
|
| 19 |
- }); |
|
| 20 |
-} |
| ... | ... |
@@ -1,59 +0,0 @@ |
| 1 |
-use gpui::{
|
|
| 2 |
- App, AppContext, Bounds, Context, Entity, IntoElement, ParentElement, Render, Styled, Window, |
|
| 3 |
- WindowBounds, WindowHandle, WindowKind, WindowOptions, div, px, size, |
|
| 4 |
-}; |
|
| 5 |
-use gpui_component::dock::{DockArea, DockAreaState};
|
|
| 6 |
-use gpui_component::menu::AppMenuBar; |
|
| 7 |
-use gpui_component::{Root, StyledExt};
|
|
| 8 |
- |
|
| 9 |
-pub struct MainWindow; |
|
| 10 |
- |
|
| 11 |
-impl MainWindow {
|
|
| 12 |
- pub(crate) fn new(cx: &mut App) -> anyhow::Result<WindowHandle<Root>> {
|
|
| 13 |
- let bounds = Bounds::centered(None, size(px(600.), px(400.)), cx); |
|
| 14 |
- |
|
| 15 |
- let window_options = WindowOptions {
|
|
| 16 |
- window_bounds: Some(WindowBounds::Windowed(bounds)), |
|
| 17 |
- #[cfg(not(target_os = "linux"))] |
|
| 18 |
- titlebar: Some(gpui_component::TitleBar::title_bar_options()), |
|
| 19 |
- window_min_size: Some(gpui::Size {
|
|
| 20 |
- width: px(640.), |
|
| 21 |
- height: px(480.), |
|
| 22 |
- }), |
|
| 23 |
- #[cfg(target_os = "linux")] |
|
| 24 |
- window_background: gpui::WindowBackgroundAppearance::Transparent, |
|
| 25 |
- #[cfg(target_os = "linux")] |
|
| 26 |
- window_decorations: Some(gpui::WindowDecorations::Client), |
|
| 27 |
- kind: WindowKind::Normal, |
|
| 28 |
- ..Default::default() |
|
| 29 |
- }; |
|
| 30 |
- |
|
| 31 |
- cx.open_window(window_options, |win, cx| {
|
|
| 32 |
- let welcome_view = MainView::new(); |
|
| 33 |
- |
|
| 34 |
- let view = cx.new(|_| welcome_view); |
|
| 35 |
- cx.new(|cx| Root::new(view.into(), win, cx)) |
|
| 36 |
- }) |
|
| 37 |
- } |
|
| 38 |
-} |
|
| 39 |
- |
|
| 40 |
-struct MainView {
|
|
| 41 |
- title_bar: Entity<AppMenuBar>, |
|
| 42 |
- dock_area: Entity<DockArea>, |
|
| 43 |
- last_layout_state: Option<DockAreaState>, |
|
| 44 |
-} |
|
| 45 |
- |
|
| 46 |
-impl MainView {
|
|
| 47 |
- fn new() -> Self {
|
|
| 48 |
- Self {}
|
|
| 49 |
- } |
|
| 50 |
-} |
|
| 51 |
- |
|
| 52 |
-impl Render for MainView {
|
|
| 53 |
- fn render(&mut self, window: &mut Window, cx: &mut Context<Self>) -> impl IntoElement {
|
|
| 54 |
- div() |
|
| 55 |
- .v_flex() |
|
| 56 |
- .size_full() |
|
| 57 |
- .child(div().flex().items_center().justify_center().child("Ready"))
|
|
| 58 |
- } |
|
| 59 |
-} |
| ... | ... |
@@ -1,179 +0,0 @@ |
| 1 |
-use crate::identity::*; |
|
| 2 |
-use gpui::*; |
|
| 3 |
-use gpui_component::button::Button; |
|
| 4 |
-use gpui_component::label::Label; |
|
| 5 |
-use gpui_component::menu::AppMenuBar; |
|
| 6 |
-use gpui_component::{Root, Theme, TitleBar, v_flex};
|
|
| 7 |
- |
|
| 8 |
-pub struct WelcomeWindow; |
|
| 9 |
- |
|
| 10 |
-impl WelcomeWindow {
|
|
| 11 |
- pub(crate) fn new(cx: &mut App) -> Result<WindowHandle<Root>> {
|
|
| 12 |
- let bounds = Bounds::centered(None, size(px(600.), px(400.)), cx); |
|
| 13 |
- |
|
| 14 |
- let window_options = WindowOptions {
|
|
| 15 |
- window_bounds: Some(WindowBounds::Windowed(bounds)), |
|
| 16 |
- is_resizable: false, |
|
| 17 |
- // window_decorations: Some(WindowDecorations::Client), |
|
| 18 |
- // titlebar: Some(TitleBar::title_bar_options()), |
|
| 19 |
- ..Default::default() |
|
| 20 |
- }; |
|
| 21 |
- |
|
| 22 |
- cx.open_window(window_options, |win, cx| {
|
|
| 23 |
- let welcome_view = WelcomeView::new(); |
|
| 24 |
- |
|
| 25 |
- let view = cx.new(|_| welcome_view); |
|
| 26 |
- cx.new(|cx| Root::new(view.into(), win, cx)) |
|
| 27 |
- }) |
|
| 28 |
- } |
|
| 29 |
-} |
|
| 30 |
- |
|
| 31 |
-struct WelcomeView {
|
|
| 32 |
- // recent_projects: Vec<String>, |
|
| 33 |
-} |
|
| 34 |
- |
|
| 35 |
-impl WelcomeView {
|
|
| 36 |
- pub(crate) fn new() -> Self {
|
|
| 37 |
- Self {
|
|
| 38 |
- // recent_projects: vec![ |
|
| 39 |
- // "MyApp".to_string(), |
|
| 40 |
- // "MyGame".to_string(), |
|
| 41 |
- // "MyLibrary".to_string(), |
|
| 42 |
- // ], |
|
| 43 |
- } |
|
| 44 |
- } |
|
| 45 |
-} |
|
| 46 |
- |
|
| 47 |
-impl Render for WelcomeView {
|
|
| 48 |
- fn render(&mut self, win: &mut Window, cx: &mut Context<Self>) -> impl IntoElement {
|
|
| 49 |
- /* |
|
| 50 |
- let titlebar = |
|
| 51 |
- TitleBar::new() |
|
| 52 |
- .child( |
|
| 53 |
- div() |
|
| 54 |
- .flex() |
|
| 55 |
- .items_center() |
|
| 56 |
- .child(AppMenuBar::new(win, cx)) |
|
| 57 |
- ) |
|
| 58 |
- .child( |
|
| 59 |
- div() |
|
| 60 |
- .flex() |
|
| 61 |
- .items_center() |
|
| 62 |
- .justify_end() |
|
| 63 |
- .gap_2() |
|
| 64 |
- .child(win.window_title()) |
|
| 65 |
- // .child(Button::new("github")) // .icon(IconName::GitHub))
|
|
| 66 |
- // .child(Button::new("notifications")) // .icon(IconName::Bell))
|
|
| 67 |
- ); |
|
| 68 |
- |
|
| 69 |
- // let state: Self = cx.; |
|
| 70 |
- |
|
| 71 |
- /* |
|
| 72 |
- // Create editor state |
|
| 73 |
- let editor_state = cx.new(|cx| {
|
|
| 74 |
- let mut state = EditorState::new(cx); |
|
| 75 |
- state.set_language(Language::Sql, cx); |
|
| 76 |
- state.set_content("SELECT * FROM users;", cx);
|
|
| 77 |
- state |
|
| 78 |
- }); // */ // */ |
|
| 79 |
- |
|
| 80 |
- // Render editor |
|
| 81 |
- |
|
| 82 |
- v_flex() |
|
| 83 |
- .size_full() |
|
| 84 |
- // .child( |
|
| 85 |
- // div() |
|
| 86 |
- // .child( |
|
| 87 |
- // AppMenuBar::new(win, cx) |
|
| 88 |
- // ) |
|
| 89 |
- // ) |
|
| 90 |
- .child( |
|
| 91 |
- div() |
|
| 92 |
- .flex() |
|
| 93 |
- .flex_row() |
|
| 94 |
- .size_full() |
|
| 95 |
- .p_4() |
|
| 96 |
- .child( |
|
| 97 |
- div() |
|
| 98 |
- .flex() |
|
| 99 |
- .flex_col() |
|
| 100 |
- .size_full() |
|
| 101 |
- .m_4() |
|
| 102 |
- .gap_4() |
|
| 103 |
- .child( |
|
| 104 |
- div() |
|
| 105 |
- .flex() |
|
| 106 |
- .flex_col() |
|
| 107 |
- .gap_2() |
|
| 108 |
- .text_center() |
|
| 109 |
- .child( |
|
| 110 |
- Label::new(format!("Welcome to {}", APP_NAME))
|
|
| 111 |
- .text_xl() |
|
| 112 |
- .font_weight(FontWeight::BOLD), |
|
| 113 |
- ) |
|
| 114 |
- .child( |
|
| 115 |
- Label::new("Version 1.0.0")
|
|
| 116 |
- .text_sm() |
|
| 117 |
- .text_color(rgb(0x666666)), |
|
| 118 |
- ), |
|
| 119 |
- ) |
|
| 120 |
- .child( |
|
| 121 |
- div() |
|
| 122 |
- .flex() |
|
| 123 |
- .flex_col() |
|
| 124 |
- .gap_2() |
|
| 125 |
- .child( |
|
| 126 |
- Button::new("create_project")
|
|
| 127 |
- .text_left() |
|
| 128 |
- .label("Create New Project")
|
|
| 129 |
- .on_click(|_, _, _| {
|
|
| 130 |
- println!("Create New Project clicked")
|
|
| 131 |
- }), |
|
| 132 |
- ) |
|
| 133 |
- .child( |
|
| 134 |
- Button::new("open_project")
|
|
| 135 |
- .text_left() |
|
| 136 |
- .label("Open Existing Project")
|
|
| 137 |
- .on_click(|_, _, _| {
|
|
| 138 |
- println!("Open Existing Project clicked")
|
|
| 139 |
- }), |
|
| 140 |
- ) |
|
| 141 |
- .child( |
|
| 142 |
- Button::new("clone_project")
|
|
| 143 |
- .text_left() |
|
| 144 |
- .label("Clone Repository")
|
|
| 145 |
- .on_click(|_, _, _| {
|
|
| 146 |
- println!("Clone Repository clicked")
|
|
| 147 |
- }), |
|
| 148 |
- ), |
|
| 149 |
- ), |
|
| 150 |
- ) |
|
| 151 |
- .child( |
|
| 152 |
- div() |
|
| 153 |
- .flex() |
|
| 154 |
- .flex_col() |
|
| 155 |
- .gap_2() |
|
| 156 |
- .m_4() |
|
| 157 |
- .child( |
|
| 158 |
- Label::new("Recent Projects")
|
|
| 159 |
- .text_lg() |
|
| 160 |
- .font_weight(FontWeight::SEMIBOLD), |
|
| 161 |
- ) |
|
| 162 |
- .child( |
|
| 163 |
- div().flex().flex_col().gap_1(), // .children( |
|
| 164 |
- // state.recent_projects.iter().map(|project| {
|
|
| 165 |
- // div() |
|
| 166 |
- // .p_2() |
|
| 167 |
- // .rounded_md() |
|
| 168 |
- // .hover(|s| s.bg(rgb(0xe5e5e5))) |
|
| 169 |
- // .child( |
|
| 170 |
- // Label::new(project) |
|
| 171 |
- // .size_full() |
|
| 172 |
- // ) |
|
| 173 |
- // }) |
|
| 174 |
- // ) |
|
| 175 |
- ), |
|
| 176 |
- ), |
|
| 177 |
- ) |
|
| 178 |
- } |
|
| 179 |
-} |
| ... | ... |
@@ -1,10 +1,10 @@ |
| 1 | 1 |
use adi::proxy::ADIProxy; |
| 2 |
-use grandslam::bundle_information::APPLE_TV_BUNDLE_INFORMATION; |
|
| 2 |
+use grandslam::bundle_information::AKD_BUNDLE_INFORMATION; |
|
| 3 | 3 |
use grandslam::device::Device; |
| 4 | 4 |
use grandslam::http_session::AnisetteHTTPSession; |
| 5 | 5 |
use grandslam::{AccountHTTPSession, AuthOutcome};
|
| 6 | 6 |
use std::env; |
| 7 |
-use xcode::{ViewDeveloperAction, XCODE_BUNDLE_INFORMATION, XcodeSession};
|
|
| 7 |
+use xcode::{ViewDeveloperAction, XcodeSession};
|
|
| 8 | 8 |
|
| 9 | 9 |
fn build_device() -> Device {
|
| 10 | 10 |
// Fake mac |
| ... | ... |
@@ -51,7 +51,7 @@ async fn grandslam_test( |
| 51 | 51 |
// println!("{:#02X?}", proxy.get_all_provisioned_accounts());
|
| 52 | 52 |
|
| 53 | 53 |
let http_session = AnisetteHTTPSession::new( |
| 54 |
- grandslam::http_session(device, XCODE_BUNDLE_INFORMATION).await?, |
|
| 54 |
+ grandslam::http_session(device, AKD_BUNDLE_INFORMATION).await?, |
|
| 55 | 55 |
proxy, |
| 56 | 56 |
); |
| 57 | 57 |
|
| 58 | 58 |