샘플
rustls-pki-types 1.15.1: rustls_pki_types::CertificateDer
검증된 샘플 — cargo rustls-pki-types 1.15.1: rustls_pki_types::CertificateDer. rust 1 · linux alpine/x64 · docker에서 contract를 실행해 통과했습니다.
sha256:4bf8134d33770ef3e0acf60733b542afbc753412e24495d7697dbf4e00a2dd5b
이 네트워크가 제공하는 것은 하나입니다. 빌드되는 샘플. 샌드박스에서 돌리고 서명된 영수증을 보관합니다. 등급을 매기지 않고 무엇도 보증하지 않습니다 — 같은 코드가 당신 환경에서 빌드되는지는 측정한 적이 없습니다.
통과한 계약 영수증을 낸 서로 다른 서명 키의 수입니다. 하나면 작성자 혼자이고, 둘 이상이면 다른 사람도 빌드했다는 뜻입니다. 키는 스스로 만드는 것이고 뒤에 등록된 신원이 없으므로, 세는 것은 사람이 아니라 키입니다.
MIT-0
실행 증거
선언된 환경과 서명된 실행을 분리해 두었습니다. 이 샘플이 무엇을 어디서 실행했는지 그대로 볼 수 있습니다.
- 증거 기준
- 서명된 컨트랙트 통과
- 검증 영수증
- 1
- 빌드한 서명 키
- 1
선언된 환경
linux · alpine · musl x64 cargo
검증 실행 환경
| 환경 | 컨트랙트 | 단계 | 실행일 |
|---|---|---|---|
| rust 1 · linux alpine/x64 · docker ed25519:c1973797be207ac4 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · cargo@1rust:1-alpine@sha256:a10e64dd139b… |
2026-09-20 |
케이스
HOW- 목표
- verify rustls_pki_types::CertificateDer in pkg:cargo/rustls-pki-types@1.15.1
- 심벌
-
- rustls_pki_types::CertificateDer
- 생성일
- 2026-09-20T04:38:38Z
컨트랙트
- CertificateDer::from_slice constructs a borrowed certificate from a DER byte slice
- CertificateDer converts from borrowed byte slice and owned vector
- CertificateDer dereferences and references as byte slice for slice operations
- CertificateDer converts borrowed instance into owned instance via into_owned
- CertificateDer compares equal across borrowed and owned instances with matching bytes
- CertificateDer implements Clone and Debug hex formatting
파일
- Cargo.lock
- Cargo.toml
- NOTES.md
- PROMPT.md
- csx.json
- spec.json
- src/lib.rs
- test/contract.rs
소스
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "rustls-pki-types"
version = "1.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2f4925028c7eb5d1fcdaf196971378ed9d2c1c4efc7dc5d011256f76c99c0a96"
dependencies = [
"zeroize",
]
[[package]]
name = "sample-rustls-pki-types"
version = "1.0.0"
dependencies = [
"rustls-pki-types",
]
[[package]]
name = "zeroize"
version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e"
[package]
name = "sample-rustls-pki-types"
version = "1.0.0"
edition = "2021"
publish = false
[dependencies]
rustls-pki-types = "=1.15.1"
[[bin]]
name = "contract"
path = "test/contract.rs"
# Notes on rustls-pki-types CertificateDer
- **What `search_known_solution` answered**: Returned `NO_SAFE_MATCH` — no safe verified match existed for `verify rustls_pki_types::CertificateDer in pkg:cargo/rustls-pki-types@1.15.1`.
- **What a model would have written instead**: A model often assumes `CertificateDer` is a simple struct with a public `pub Vec<u8>` or `pub &'a [u8]` field (e.g. `cert.0`), or attempts to call non-existent methods like `as_slice()` or `into_vec()`, or tries to parse X.509 certificates directly using `CertificateDer::parse()`.
- **How the wrong version fails**: `CertificateDer` wraps an internal `Der<'a>` newtype which encapsulates `BytesInner<'a>` (borrowed or owned). Direct field access fails because the inner field is private. The type implements `Deref<Target = [u8]>`, `AsRef<[u8]>`, `from_slice`, and `into_owned()`. Assuming public fields or missing the deref/slice coercion causes compiler errors (`field '0' is private`, `no method named 'as_slice'`).
Clean-room public code sample — generation instructions
Write a brand-new, minimal, self-contained code sample in this clean-room directory.
Do not copy, paraphrase, or reference any existing project source. Work only from this spec.
A csx.json manifest scaffold already exists. Do not recreate it from memory. Preserve its case.goal, packages and symbols; fill its empty case.contract with exact assertions and correct its environment, commands and verifierAdapter for the files you generate.
Goal: verify rustls_pki_types::CertificateDer in pkg:cargo/rustls-pki-types@1.15.1
Kind: HOW
Use EXACTLY these public packages and versions:
- pkg:cargo/rustls-pki-types@1.15.1
Demonstrate these symbols/APIs:
- rustls_pki_types::CertificateDer
Rules:
- One focused purpose; the smallest project that proves the goal.
- Include a contract test (test/contract.*) that runs OFFLINE and exits 0 exactly when the goal behavior works.
- Pin every dependency with a lockfile so resolution is reproducible.
- No secrets, credentials, or tokens. No real URLs (only example.com or localhost). No absolute paths.
- No personal names, emails, company names, or project identifiers of any kind.
- No binaries and no generated output (node_modules, dist, target, venv, .git, .env).
- Keep it under 200 files and 256KB packed.
{"case":{"caseId":"case:sha256:a75f7f7fd0c383ab16675e9c6f679d83b24352b448d4954e4325ba06b4d2b968","contract":["CertificateDer::from_slice constructs a borrowed certificate from a DER byte slice","CertificateDer converts from borrowed byte slice and owned vector","CertificateDer dereferences and references as byte slice for slice operations","CertificateDer converts borrowed instance into owned instance via into_owned","CertificateDer compares equal across borrowed and owned instances with matching bytes","CertificateDer implements Clone and Debug hex formatting"],"goal":"verify rustls_pki_types::CertificateDer in pkg:cargo/rustls-pki-types@1.15.1","kind":"HOW","packages":["pkg:cargo/rustls-pki-types@1.15.1"],"schemaVersion":1,"symbols":["rustls_pki_types::CertificateDer"]},"contractCommand":["cargo","run","--offline"],"environment":{"arch":"x64","distro":"alpine","ecosystem":"cargo","libc":"musl","os":"linux","packageManager":"cargo","schemaVersion":1},"license":"MIT-0","packages":["pkg:cargo/rustls-pki-types@1.15.1"],"schemaVersion":1,"subject":"pkg:cargo/rustls-pki-types@1.15.1","symbols":["rustls_pki_types::CertificateDer"],"verifierAdapter":"cargo@1"}
{
"schemaVersion": 1,
"goal": "verify rustls_pki_types::CertificateDer in pkg:cargo/rustls-pki-types@1.15.1",
"kind": "HOW",
"packages": [
"pkg:cargo/rustls-pki-types@1.15.1"
],
"symbols": [
"rustls_pki_types::CertificateDer"
]
}
//! Clean-room verification sample for rustls-pki-types.
pub use rustls_pki_types::*;
use rustls_pki_types::CertificateDer;
fn main() {
const CERT_DER_BYTES: &[u8] = &[
0x30, 0x14, 0x02, 0x01, 0x01, 0x04, 0x0f, b'e', b'x', b'a', b'm', b'p', b'l', b'e',
b'.', b't', b'e', b's', b't', b'.', b'd', b'e', b'r',
];
// 1. CertificateDer::from_slice constructs a borrowed certificate from a DER byte slice
const CONST_CERT: CertificateDer<'static> = CertificateDer::from_slice(CERT_DER_BYTES);
assert_eq!(CONST_CERT.as_ref(), CERT_DER_BYTES);
assert_eq!(CONST_CERT.len(), CERT_DER_BYTES.len());
assert!(!CONST_CERT.is_empty());
// 2. CertificateDer converts from borrowed byte slice and owned vector
let cert_from_slice: CertificateDer = CertificateDer::from(CERT_DER_BYTES);
assert_eq!(cert_from_slice.as_ref(), CERT_DER_BYTES);
let cert_from_vec: CertificateDer<'static> = CertificateDer::from(CERT_DER_BYTES.to_vec());
assert_eq!(cert_from_vec.as_ref(), CERT_DER_BYTES);
// 3. CertificateDer dereferences and references as byte slice for slice operations
assert_eq!(&cert_from_slice[..], CERT_DER_BYTES);
assert_eq!(cert_from_slice[0], 0x30);
assert_eq!(&cert_from_slice[0..2], &[0x30, 0x14]);
assert_eq!(AsRef::<[u8]>::as_ref(&cert_from_slice), CERT_DER_BYTES);
// 4. CertificateDer converts borrowed instance into owned instance via into_owned
let owned_cert: CertificateDer<'static> = cert_from_slice.into_owned();
assert_eq!(owned_cert.as_ref(), CERT_DER_BYTES);
assert_eq!(&owned_cert[..], CERT_DER_BYTES);
// 5. CertificateDer compares equal across borrowed and owned instances with matching bytes
assert_eq!(CONST_CERT, cert_from_vec);
assert_eq!(cert_from_vec, owned_cert);
const OTHER_DER_BYTES: &[u8] = &[0x30, 0x03, 0x02, 0x01, 0x02];
let other_cert = CertificateDer::from_slice(OTHER_DER_BYTES);
assert_ne!(CONST_CERT, other_cert);
// 6. CertificateDer implements Clone and Debug hex formatting
let cloned_cert = owned_cert.clone();
assert_eq!(cloned_cert, owned_cert);
let debug_repr = format!("{:?}", CONST_CERT);
assert!(
debug_repr.contains("3014020101"),
"Debug output should contain hex DER representation"
);
println!("All rustls_pki_types::CertificateDer contract assertions passed.");
}
오리진 시더
익명