تی ال اس tls
اتصال امن TLS 1.3 و 1.2 و ابزارهای رمزنگاری کلید عمومی، بینیاز از OpenSSL.
واردسازی تی ال اس
بستهی تی ال اس یک پیادهسازی کامل TLS به زبان سلام است و به کتابخانهی بیرونی نیاز ندارد. کارخواه با اتصال امن وصل میشود و گواهی سرور را با ریشههای سیستم بررسی میکند؛ سرور با پیکربندی کارساز جدید گواهی و کلیدش را میخواند و هر اتصال را با پوشش کارساز امن میکند.
ابزارهای رمزنگاری این بسته برای ساختن پروتکلهای خودتان هم به کار میآیند: دو طرف با ECDH راز مشترک میسازند، با HKDF از آن کلید درمیآورند و با AES-GCM پیام را رمز و مهر میکنند. کلیدها و دادهها به شکل بیس۶۴ رد و بدل میشوند.
گونهها
پیکربندی Config
ساختار پیکربندی| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| server_name | server_name | رشته = "" | نام میزبان برای SNI و بررسی گواهی. |
| ca_file | ca_file | رشته = "" | پروندهی گواهیهای ریشه؛ خالی یعنی ریشههای سیستم. |
| insecure_skip_verify | insecure_skip_verify | منطقی = نادرست | گواهی بررسی نشود؛ فقط برای آزمایش، چون اتصال را در برابر شنود بیدفاع میکند. |
| alpn | alpn | رشته = "" | پروتکل برای ALPN، مثل h2. |
| aes_only | aes_only | منطقی = نادرست | فقط رمزهای AES پیشنهاد شود. |
واردسازی تی ال اس
روال ریشه:
ناپایا پ := تی ال اس.پیکربندی جدید("example.com")
پ.alpn = "http/1.1"
ناپایا ا := تی ال اس.اتصال امن("example.com"، ۴۴۳، پ)
اگر وارونه تی ال اس.اتصال معتبر(ا):
سرچاپ "خطا:"، تی ال اس.خطای اتصال(ا)
برگشت
پایان
سرچاپ تی ال اس.نسخه(ا)، تی ال اس.نام رمز(ا)، تی ال اس.تعداد گواهی همتا(ا)
_ := تی ال اس.نوشتن(ا، "GET / HTTP/1.1\r\nHost: example.com\r\nConnection: close\r\n\r\n")
ناپایا پاسخ := ""
تا تی ال اس.اتصال معتبر(ا):
تکه := تی ال اس.خواندن(ا، ۴۰۹۶)
اگر تکه.طول() == ۰:
بشکن
پایان
پاسخ += تکه
پایان
سرچاپ پاسخ.طول() > ۰
تی ال اس.بستن اتصال(ا)
پایاناتصال Conn
ساختار اتصال| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| h | h | Handshake | وضعیت دستدهی. |
| host | host | رشته = "" | میزبان. |
| open | open | منطقی = نادرست | اتصال باز است. |
| insecure | insecure | منطقی = نادرست | بدون بررسی گواهی. |
| pending | pending | Buf | دادهی خواندهشدهای که هنوز برداشته نشده. |
| err | err | رشته = "" | پیام خطا. |
نمونهی این مورد همراه با موارد بالاتر آمده است: tls-Client.salam
پیکربندی کارساز ServerConfig
ساختار پیکربندی کارساز| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| chain | chain | Roots | زنجیرهی گواهی. |
| key | key | PrivateKey | کلید خصوصی. |
| ok | ok | منطقی = نادرست | هر دو خوانده شدند. |
واردسازی تی ال اس
واردسازی شبکه.تی سی پی شبکه
واردسازی حافظه
روال ریشه:
پ := تی ال اس.پیکربندی کارساز جدید("cert.pem"، "key.pem")
اگر وارونه پ.ok:
سرچاپ "گواهی یا کلید خوانده نشد"
برگشت
پایان
س := تی سی پی شبکه.پیوند(۸۴۴۳)
تا درست:
ک := تی سی پی شبکه.پذیرش(س)
ناپایا ا := تی ال اس.پوشش کارساز(ک.fd، پ)
اگر تی ال اس.اتصال معتبر(ا):
اگر تی ال اس.خواندنی(ا) یا تی ال اس.در انتظار(ا) > ۰:
سرچاپ تی ال اس.خواندن(ا، ۱۰۲۴)
پایان
بافر := حافظه.تخصیص(۲۵۶ برگردان طبیعی۶۴)
n := تی ال اس.خواندن بایت(ا، بافر، ۲۵۶)
_ := تی ال اس.نوشتن بایت(ا، بافر، n)
_ := تی ال اس.نوشتن(ا، "HTTP/1.1 200 OK\r\nContent-Length: 5\r\n\r\nسلام")
حافظه.آزادسازی(بافر)
سرچاپ تی ال اس.توصیفگر(ا) >= ۰
پایان
تی ال اس.بستن اتصال(ا)
پایان
پایانپایاها و متغیرها
تی ال اس۱۰ TLS10
پایا تی ال اس۱۰: صحیح۳۲ = 769واردسازی تی ال اس
واردسازی شبکه.تی سی پی شبکه
واردسازی کدگذاری
واردسازی ورودی خروجی
روال ریشه:
ریشهها := تی ال اس.بارگذاری ریشه ها("/etc/ssl/cert.pem")
سرچاپ تی ال اس.تعداد ریشه ها(ریشهها)
زنجیره := تی ال اس.بارگذاری فایل زنجیره گواهی("cert.pem")
سرچاپ تی ال اس.تعداد ریشه ها(زنجیره)
ناپایا کلید := تی ال اس.بارگذاری فایل کلید خصوصی("key.pem")
ناپایا کلید۲ := تی ال اس.تجزیه کلید خصوصی پم("-----BEGIN ...")
تی ال اس.آزادسازی کلید خصوصی(کلید۲)
گواهی := تی ال اس.کدگشایی شانزدهی("3082...")
سرچاپ تی ال اس.گواهی معتبر است(گواهی)، تی ال اس.نام مشترک گواهی(گواهی)
کد := تی ال اس.تایید گواهی(گواهی، ریشهها، "example.com")
سرچاپ کد، تی ال اس.خطای تایید(کد)
چکیده := تی ال اس.درهم ساز(نادرست، "پیام")
امضا := تی ال اس.بافر جدید(۵۱۲)
سرچاپ تی ال اس.امضای آر اس ای پی کی سی اس یک(کلید، نادرست، چکیده، امضا)
سرچاپ تی ال اس.امضای آر اس ای پی اس اس(کلید، نادرست، چکیده، امضا)
سرچاپ تی ال اس.تایید آر اس ای پی اس اس با کلید(کلید، نادرست، چکیده، امضا)
ر := تی ال اس.بافر جدید(۳۲)
س := تی ال اس.بافر جدید(۳۲)
اگر تی ال اس.امضای بیضوی(کلید، چکیده، ر، س):
دیایآر := تی ال اس.کدگذاری دی ای آر بیضوی(ر، س، ۳۲)
سرچاپ تی ال اس.تایید دی ای آر بیضوی با کلید(کلید، چکیده، دیایآر)
پایان
پم := ورودی خروجی.خواندن پرونده("rsa-key.pem")
ناپایا سالم := نادرست
سرچاپ تی ال اس.طول کلید آر اس ای(پم)
سرچاپ تی ال اس.امضای آر اس ای شا۲۵۶(پم، کدگذاری.کدگذاری پایه۶۴("...")، سالم)
ناپایا پ := تی ال اس.پیکربندی جدید("internal.example")
پ.ca_file = "company-ca.pem"
پ.aes_only = درست
ناپایا ا := تی ال اس.اتصال امن("internal.example"، ۴۴۳، پ)
سرچاپ تی ال اس.اتصال معتبر(ا)
تی ال اس.بستن اتصال(ا)
ک := تی سی پی شبکه.شماره گیری("example.com"، ۴۴۳)
ناپایا ب := تی ال اس.پوشش کارخواه(ک.fd، تی ال اس.پیکربندی جدید("example.com"))
سرچاپ تی ال اس.نسخه(ب) == "TLS1.3"
تی ال اس.بستن اتصال(ب)
سرچاپ تی ال اس.تی ال اس۱۰، تی ال اس.تی ال اس۱۱، تی ال اس.تی ال اس۱۲، تی ال اس.تی ال اس۱۳
سرچاپ تی ال اس.خودآزمایی()
تی ال اس.آزادسازی ریشه ها(ریشهها)
تی ال اس.آزادسازی کلید خصوصی(کلید)
پایانتی ال اس۱۱ TLS11
پایا تی ال اس۱۱: صحیح۳۲ = 770نمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
تی ال اس۱۲ TLS12
پایا تی ال اس۱۲: صحیح۳۲ = 771نمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
تی ال اس۱۳ TLS13
پایا تی ال اس۱۳: صحیح۳۲ = 772نمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
روالها
خودآزمایی SelfTest
روال خودآزمایی(): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
بارگذاری فایل زنجیره گواهی LoadCertChainFile
روال بارگذاری فایل زنجیره گواهی(path: رشته): Rootsنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
تولید کلید ای سی دی اچ EcdhP256Generate
روال تولید کلید ای سی دی اچ(priv &: رشته، pub_spki &: رشته): منطقیواردسازی تی ال اس
واردسازی کدگذاری
روال ریشه:
ناپایا خصوصی۱ := ""
ناپایا عمومی۱ := ""
ناپایا خصوصی۲ := ""
ناپایا عمومی۲ := ""
سرچاپ تی ال اس.تولید کلید ای سی دی اچ(خصوصی۱، عمومی۱)، تی ال اس.تولید کلید ای سی دی اچ(خصوصی۲، عمومی۲)
ناپایا سالم := نادرست
راز۱ := تی ال اس.راز مشترک ای سی دی اچ(خصوصی۱، عمومی۲، سالم)
راز۲ := تی ال اس.راز مشترک ای سی دی اچ(خصوصی۲، عمومی۱، سالم)
سرچاپ سالم، راز۱ == راز۲
نقطه۱ := تی ال اس.نقطه عمومی ای سی دی اچ(خصوصی۱)
نقطه۲ := تی ال اس.نقطه عمومی ای سی دی اچ(خصوصی۲)
سرچاپ تی ال اس.نقطه مشترک ای سی دی اچ(خصوصی۱، نقطه۲، سالم) == تی ال اس.نقطه مشترک ای سی دی اچ(خصوصی۲، نقطه۱، سالم)
نمک := تی ال اس.نمک تصادفی(۱۶)
کلید := تی ال اس.اچ کی دی اف شا۲۵۶(راز۱، نمک، "chat v1"، ۳۲، سالم)
سرچاپ سالم، کلید == تی ال اس.اچ کی دی اف شا۲۵۶(راز۲، نمک، "chat v1"، ۳۲، سالم)
سرچاپ تی ال اس.اچ کی دی اف شا۲۵۶ خام(راز۱، نمک، کدگذاری.کدگذاری پایه۶۴("chat v1")، ۳۲، سالم) == کلید
نانس := تی ال اس.نانس جی سی ام(۰)
مهرشده := تی ال اس.مهر ای ای اس جی سی ام(کلید، نانس، "سلام، این پیام رمز شده است"، سالم)
سرچاپ سالم
سرچاپ تی ال اس.گشودن ای ای اس جی سی ام(کلید، نانس، مهرشده، سالم)، سالم
_ := تی ال اس.گشودن ای ای اس جی سی ام(کلید، تی ال اس.نانس جی سی ام(۱)، مهرشده، سالم)
سرچاپ سالم
دودویی := تی ال اس.مهر بایت ای ای اس جی سی ام(کلید، نانس، کدگذاری.کدگذاری پایه۶۴("abc")، سالم)
سرچاپ کدگذاری.کدگشایی پایه۶۴(تی ال اس.گشودن بایت ای ای اس جی سی ام(کلید، نانس، دودویی، سالم))
چکیده := کدگذاری.کدگذاری پایه۶۴("0123456789abcdef0123456789abcdef")
امضا := تی ال اس.امضای پی۲۵۶(خصوصی۱، چکیده، سالم)
سرچاپ سالم، تی ال اس.تایید امضای پی۲۵۶(نقطه۱، چکیده، امضا)، تی ال اس.تایید امضای پی۲۵۶(نقطه۲، چکیده، امضا)
ب := تی ال اس.درهم ساز(نادرست، "abc")
سرچاپ تی ال اس.طول بافر(ب)، تی ال اس.کدگذاری شانزدهی(ب)
ناپایا ش := تی ال اس.کدگشایی شانزدهی("cafe")
تی ال اس.افزودن رشته به بافر(ش، "!")
سرچاپ تی ال اس.طول بافر(ش)، تی ال اس.کدگذاری شانزدهی(ش)
ناپایا ص := تی ال اس.بافر صفر جدید(۴)
سرچاپ تی ال اس.کدگذاری شانزدهی(ص)
ناپایا خالی := تی ال اس.بافر جدید(۶۴)
سرچاپ تی ال اس.طول بافر(خالی)
تی ال اس.پاک سازی بافر(ش)
تی ال اس.آزادسازی بافر(ش)
تی ال اس.آزادسازی بافر(ص)
تی ال اس.آزادسازی بافر(خالی)
پایانراز مشترک ای سی دی اچ EcdhP256Shared
روال راز مشترک ای سی دی اچ(priv_b64: رشته، peer_spki_b64: رشته، ok &: منطقی): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
اچ کی دی اف شا۲۵۶ HkdfSha256
روال اچ کی دی اف شا۲۵۶(ikm_b64: رشته، salt_b64: رشته، info: رشته، out_len: صحیح، ok &: منطقی): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
مهر ای ای اس جی سی ام AesGcmSeal
روال مهر ای ای اس جی سی ام(key_b64: رشته، nonce_b64: رشته، plaintext: رشته، ok &: منطقی): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
گشودن ای ای اس جی سی ام AesGcmOpen
روال گشودن ای ای اس جی سی ام(key_b64: رشته، nonce_b64: رشته، sealed_b64: رشته، ok &: منطقی): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
نانس جی سی ام GcmNonce
روال نانس جی سی ام(counter: صحیح۶۴): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
نمک تصادفی RandomSalt
روال نمک تصادفی(n: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
نقطه عمومی ای سی دی اچ EcdhP256PublicPoint
روال نقطه عمومی ای سی دی اچ(priv_b64: رشته): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
نقطه مشترک ای سی دی اچ EcdhP256SharedPoint
روال نقطه مشترک ای سی دی اچ(priv_b64: رشته، peer_point_b64: رشته، ok &: منطقی): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
اچ کی دی اف شا۲۵۶ خام HkdfSha256Raw
روال اچ کی دی اف شا۲۵۶ خام(ikm_b64: رشته، salt_b64: رشته، info_b64: رشته، out_len: صحیح، ok &: منطقی): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
مهر بایت ای ای اس جی سی ام AesGcmSealBytes
روال مهر بایت ای ای اس جی سی ام(key_b64: رشته، nonce_b64: رشته، plaintext_b64: رشته، ok &: منطقی): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
گشودن بایت ای ای اس جی سی ام AesGcmOpenBytes
روال گشودن بایت ای ای اس جی سی ام(key_b64: رشته، nonce_b64: رشته، sealed_b64: رشته، ok &: منطقی): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
امضای پی۲۵۶ P256Sign
روال امضای پی۲۵۶(priv_b64: رشته، digest_b64: رشته، ok &: منطقی): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
تایید امضای پی۲۵۶ P256Verify
روال تایید امضای پی۲۵۶(pub_point_b64: رشته، digest_b64: رشته، sig_b64: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
امضای آر اس ای شا۲۵۶ RsaSignPkcs1Sha256
روال امضای آر اس ای شا۲۵۶(pem: رشته، digest_b64: رشته، ok &: منطقی): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
طول کلید آر اس ای RsaKeyBits
روال طول کلید آر اس ای(pem: رشته): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
آزادسازی کلید خصوصی FreePrivateKey
روال آزادسازی کلید خصوصی(k &: PrivateKey)نمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
تجزیه کلید خصوصی پم ParsePrivateKeyPEM
روال تجزیه کلید خصوصی پم(pem: رشته): PrivateKeyنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
بارگذاری فایل کلید خصوصی LoadPrivateKeyFile
روال بارگذاری فایل کلید خصوصی(path: رشته): PrivateKeyنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
پیکربندی جدید NewConfig
روال پیکربندی جدید(server_name: رشته): پیکربندینمونهی این مورد همراه با موارد بالاتر آمده است: tls-Client.salam
اتصال امن Dial
روال اتصال امن(host: رشته، port: صحیح، cfg: پیکربندی): اتصالنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Client.salam
پوشش کارخواه WrapClient
روال پوشش کارخواه(fd: صحیح۶۴، cfg: پیکربندی): اتصالنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
پیکربندی کارساز جدید NewServerConfig
روال پیکربندی کارساز جدید(cert_file: رشته، key_file: رشته): پیکربندی کارسازنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Server.salam
پوشش کارساز WrapServer
روال پوشش کارساز(fd: صحیح۶۴، cfg: پیکربندی کارساز): اتصالنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Server.salam
اتصال معتبر ConnOk
روال اتصال معتبر(c: اتصال): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: tls-Client.salam
خطای اتصال ConnError
روال خطای اتصال(c: اتصال): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Client.salam
نوشتن Write
روال نوشتن(c &: اتصال، data: رشته): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Client.salam
نوشتن بایت WriteBytes
روال نوشتن بایت(c &: اتصال، ptr: تهی*، n: صحیح): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Server.salam
خواندن Read
روال خواندن(c &: اتصال، max: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Client.salam
خواندن بایت ReadBytes
روال خواندن بایت(c &: اتصال، buf: تهی*، max: صحیح): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Server.salam
در انتظار Pending
روال در انتظار(c: اتصال): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Server.salam
خواندنی Readable
روال خواندنی(c: اتصال): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: tls-Server.salam
توصیفگر Fd
روال توصیفگر(c: اتصال): صحیح۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: tls-Server.salam
بستن اتصال Close
روال بستن اتصال(c &: اتصال)نمونهی این مورد همراه با موارد بالاتر آمده است: tls-Client.salam
نسخه Version
روال نسخه(c: اتصال): رشتهTLS1.3.نمونهی این مورد همراه با موارد بالاتر آمده است: tls-Client.salam
نام رمز CipherName
روال نام رمز(c: اتصال): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Client.salam
تعداد گواهی همتا PeerCertCount
روال تعداد گواهی همتا(c: اتصال): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Client.salam
کدگذاری شانزدهی HexEncodeBuf
روال کدگذاری شانزدهی(b: Buf): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
کدگشایی شانزدهی HexDecodeBuf
روال کدگشایی شانزدهی(s: رشته): Bufنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
بافر جدید NewBuf
روال بافر جدید(cap: صحیح): Bufنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
بافر صفر جدید NewZeroBuf
روال بافر صفر جدید(n: صحیح): Bufنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
آزادسازی بافر FreeBuf
روال آزادسازی بافر(b &: Buf)نمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
پاک سازی بافر WipeBuf
روال پاک سازی بافر(b &: Buf)نمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
طول بافر BufLen
روال طول بافر(b: Buf): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
افزودن رشته به بافر BufAppendStr
روال افزودن رشته به بافر(b &: Buf، s: رشته)نمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
بارگذاری ریشه ها LoadRoots
روال بارگذاری ریشه ها(ca_file: رشته): Rootsنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
تعداد ریشه ها RootCount
روال تعداد ریشه ها(r: Roots): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
آزادسازی ریشه ها FreeRoots
روال آزادسازی ریشه ها(r &: Roots)نمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
خطای تایید VerifyError
روال خطای تایید(code: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
تایید گواهی VerifyCert
روال تایید گواهی(der: Buf، roots: Roots، host: رشته): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
گواهی معتبر است CertIsValid
روال گواهی معتبر است(der: Buf): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
نام مشترک گواهی CertSubjectCN
روال نام مشترک گواهی(der: Buf): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
درهم ساز HashDigest
روال درهم ساز(sha384: منطقی، msg: رشته): Bufنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Crypto.salam
امضای آر اس ای پی کی سی اس یک SignRSAPKCS1
روال امضای آر اس ای پی کی سی اس یک(k: PrivateKey، sha384: منطقی، digest: Buf، sigout: Buf): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
امضای آر اس ای پی اس اس SignRSAPSS
روال امضای آر اس ای پی اس اس(k: PrivateKey، sha384: منطقی، digest: Buf، sigout: Buf): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
امضای بیضوی SignECDSA
روال امضای بیضوی(k: PrivateKey، digest: Buf، rout: Buf، sout: Buf): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
کدگذاری دی ای آر بیضوی ECDSADerEncode
روال کدگذاری دی ای آر بیضوی(rbytes: Buf، sbytes: Buf، width: صحیح): Bufنمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
تایید آر اس ای پی اس اس با کلید VerifyRSAPSSWithKey
روال تایید آر اس ای پی اس اس با کلید(k: PrivateKey، sha384: منطقی، digest: Buf، sig: Buf): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam
تایید دی ای آر بیضوی با کلید VerifyECDSADERWithKey
روال تایید دی ای آر بیضوی با کلید(k: PrivateKey، digest: Buf، dersig: Buf): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: tls-Certs.salam