Özet
openssl komut [ seçenekler ... ] [ parametreler ... ]
openssl no-XXX [ seçenekler ]
openssl -help | -version
Açıklama
OpenSSL, Güvenli Soket Katmanı (SSL) ve Taşıma Katmanı Güvenliği (TLS) ağ protokollerini ve bunlar için gerekli olan ilgili kriptografi standartlarını uygulayan bir kriptografi araç takımıdır.
openssl programı, OpenSSL'in crypto kütüphanesinin çeşitli kriptografi işlevlerini kabuktan (shell) kullanmak için tasarlanmış bir komut satırı programıdır. Şu amaçlar için kullanılabilir:
o Özel anahtarlar, açık anahtarlar ve parametrelerin oluşturulması ve yönetilmesi o Açık anahtar kriptografik işlemleri o X.509 sertifikaları, CSR'ler ve CRL'lerin oluşturulması o İleti Özetleri (Message Digests) ve İleti Kimlik Doğrulama Kodlarının (Message Authentication Codes) hesaplanması o Şifreleyiciler (Ciphers) ile Şifreleme ve Şifre Çözme o SSL/TLS İstemci ve Sunucu Testleri o S/MIME imzalı veya şifreli e-postaların işlenmesi o Zaman damgası istekleri, üretimi ve doğrulaması
Komut Özeti
openssl programı zengin bir komut çeşitliliği sunar (yukarıdaki "ÖZET" bölümündeki komut). Her komut, yukarıda seçenekler (options) ve parametreler (parameters) olarak gösterilen birçok seçeneğe ve argüman parametresine sahip olabilir.
Çoğu standart alt komut için ayrıntılı belgeler ve kullanım senaryoları mevcuttur (örneğin, openssl-x509(1)). Alt komutları listelemek için openssl-list(1) alt komutu kullanılabilir.
no-XXX komutu, belirtilen ada sahip bir komutun kullanılabilir olup olmadığını test eder. XXX adında bir komut yoksa 0 (başarı) döndürür ve no-XXX yazdırır; aksi takdirde 1 döndürür ve XXX yazdırır. Her iki durumda da çıktı stdout'a gider ve stderr'e hiçbir şey yazdırılmaz. Ek komut satırı argümanları her zaman yoksayılır. Her şifreleyici için aynı ada sahip bir komut bulunduğundan, bu durum kabuk betiklerinin openssl programındaki şifreleyicilerin kullanılabilirliğini test etmesi için kolay bir yol sağlar. (no-XXX komutu, quit, list veya no-XXX'in kendisi gibi sözde komutları algılayamaz.)
Yapılandırma Seçeneği
Pek çok komut, argümanlarının bir kısmı veya tamamı için harici bir yapılandırma dosyası kullanır ve bu dosyayı belirtmek için bir -config seçeneğine sahiptir. Dosyanın varsayılan adı, openssl-version(1) komutundan -d veya -a seçeneği kullanılarak belirlenebilen, varsayılan sertifika depolama alanındaki openssl.cnf dosyasıdır. Farklı bir dosya konumu belirtmek veya yapılandırma yüklemesini devre dışı bırakmak (boş dize kullanarak) için OPENSSL_CONF ortam değişkeni kullanılabilir.
Diğerlerinin yanı sıra, yapılandırma dosyası modülleri yüklemek ve sertifikalar ile rastgele sayılar üretmek üzere parametreleri belirtmek için kullanılabilir. Ayrıntılar için config(5) belgesine bakın.
Standart Komutlar
asn1parse Bir ASN.1 dizisini ayrıştırır.
ca Sertifika Yetkilisi (CA) Yönetimi.
ciphers Şifreleme Paketi (Cipher Suite) Açıklaması Belirleme.
cms CMS (Kriptografik İleti Sözdizimi) komutu.
crl Sertifika İptal Listesi (CRL) Yönetimi.
crl2pkcs7 CRL'den PKCS#7'ye Dönüştürme.
dgst İleti Özeti (Message Digest) hesaplama. MAC hesaplamalarının yerini openssl-mac(1) almıştır.
dhparam Diffie-Hellman Parametrelerinin Üretilmesi ve Yönetilmesi. Yerini openssl-genpkey(1) ve openssl-pkeyparam(1) almıştır.
dsa DSA Veri Yönetimi.
dsaparam DSA Parametresi Üretimi ve Yönetimi. Yerini openssl-genpkey(1) ve openssl-pkeyparam(1) almıştır.
ec EC (Eliptik eğri) anahtar işleme.
ecparam EC parametresi manipülasyonu ve üretimi.
enc Şifreleme, şifre çözme ve kodlama.
engine Motor (yüklenebilir modül) bilgisi ve manipülasyonu.
errstr Hata Numarasından Hata Dizesine Dönüştürme.
fipsinstall FIPS yapılandırma kurulumu.
gendsa Parametrelerden DSA Özel Anahtarı Üretilmesi. Yerini openssl-genpkey(1) ve openssl-pkey(1) almıştır.
genpkey Özel Anahtar veya Parametre Üretimi.
genrsa RSA Özel Anahtarı Üretilmesi. Yerini openssl-genpkey(1) almıştır.
help Bir komutun seçenekleri hakkında bilgi görüntüler.
info OpenSSL kütüphanelerine yerleşik çeşitli bilgileri görüntüler.
kdf Anahtar Türetme İşlevleri.
list Algoritmaları ve özellikleri listeler.
mac İleti Kimlik Doğrulama Kodu Hesaplaması.
nseq Bir Netscape sertifika dizisi oluşturur veya inceler.
ocsp Çevrimiçi Sertifika Durum Protokolü komutu.
passwd Özetlenmiş (hashed) parolaların üretilmesi.
pkcs12 PKCS#12 Veri Yönetimi.
pkcs7 PKCS#7 Veri Yönetimi.
pkcs8 PKCS#8 biçimindeki özel anahtar dönüştürme komutu.
pkey Açık ve özel anahtar yönetimi.
pkeyparam Açık anahtar algoritması parametre yönetimi.
pkeyutl Açık anahtar algoritması kriptografik işlem komutu.
prime Asal sayıları hesaplar.
rand Sözde rastgele baytlar üretir.
rehash Özet (hash) değerlerine göre adlandırılmış sertifika ve CRL dosyalarına sembolik bağlantılar oluşturur.
req PKCS#10 X.509 Sertifika İmzalama İsteği (CSR) Yönetimi.
rsa RSA anahtar yönetimi.
rsautl İmzalama, doğrulama, şifreleme ve şifre çözme için RSA komutu. Yerini openssl-pkeyutl(1) almıştır.
s_client SSL/TLS konuşan uzak bir sunucuya şeffaf bir bağlantı kurabilen genel bir SSL/TLS istemcisi uygular. Yalnızca test amaçlıdır ve yalnızca temel düzeyde arabirim işlevselliği sağlar, ancak dahili olarak OpenSSL ssl kütüphanesinin neredeyse tüm işlevlerini kullanır.
s_server SSL/TLS konuşan uzak istemcilerden gelen bağlantıları kabul eden genel bir SSL/TLS sunucusu uygular. Yalnızca test amaçlıdır ve yalnızca temel düzeyde arabirim işlevselliği sağlar, ancak dahili olarak OpenSSL ssl kütüphanesinin neredeyse tüm işlevlerini kullanır. Hem SSL işlevlerini test etmek için komut satırı odaklı kendi protokolünü hem de SSL/TLS uyumlu bir web sunucusunu simüle etmek için basit bir HTTP yanıt özelliği sağlar.
s_time SSL Bağlantı Zamanlayıcısı.
sess_id SSL Oturum Verisi Yönetimi.
smime S/MIME posta işleme.
speed Algoritma Hızı Ölçümü.
spkac SPKAC yazdırma ve üretme komutu.
srp SRP parola dosyasını yönetir. Bu komut kullanımdan kaldırılmıştır.
storeutl Sertifikaları, anahtarları, CRL'leri vb. listelemek ve görüntülemek için kullanılan komut.
ts Zaman Damgası Yetkilisi (TSA) komutu.
verify X.509 Sertifika Doğrulaması. Ayrıca openssl-verification-options(1) kılavuz sayfasına bakın.
version OpenSSL Sürüm Bilgisi.
x509 X.509 Sertifika Verisi Yönetimi.
İleti Özeti Komutları
blake2b512 BLAKE2b-512 Özeti
blake2s256 BLAKE2s-256 Özeti
md2 MD2 Özeti
md4 MD4 Özeti
md5 MD5 Özeti
mdc2 MDC2 Özeti
rmd160 RMD-160 Özeti
sha1 SHA-1 Özeti
sha224 SHA-2 224 Özeti
sha256 SHA-2 256 Özeti
sha384 SHA-2 384 Özeti
sha512 SHA-2 512 Özeti
sha3-224 SHA-3 224 Özeti
sha3-256 SHA-3 256 Özeti
sha3-384 SHA-3 384 Özeti
sha3-512 SHA-3 512 Özeti
keccak-224 KECCAK 224 Özeti
keccak-256 KECCAK 256 Özeti
keccak-384 KECCAK 384 Özeti
keccak-512 KECCAK 512 Özeti
shake128 SHA-3 SHAKE128 Özeti
shake256 SHA-3 SHAKE256 Özeti
sm3 SM3 Özeti
Şifreleme, Şifre Çözme ve Kodlama Komutları
Aşağıdaki takma adlar (aliases), en sık kullanılan kodlamalara ve şifreleyicilere kolay erişim sağlar.
OpenSSL'in nasıl yapılandırıldığına ve derlendiğine bağlı olarak, burada listelenen şifreleyicilerin tümü mevcut olmayabilir. Daha fazla bilgi için openssl-enc(1) sayfasına bakın.
aes128, aes-128-cbc, aes-128-cfb, aes-128-ctr, aes-128-ecb, aes-128-ofb AES-128 Şifreleyici
aes192, aes-192-cbc, aes-192-cfb, aes-192-ctr, aes-192-ecb, aes-192-ofb AES-192 Şifreleyici
aes256, aes-256-cbc, aes-256-cfb, aes-256-ctr, aes-256-ecb, aes-256-ofb AES-256 Şifreleyici
aria128, aria-128-cbc, aria-128-cfb, aria-128-ctr, aria-128-ecb, aria-128-ofb Aria-128 Şifreleyici
aria192, aria-192-cbc, aria-192-cfb, aria-192-ctr, aria-192-ecb, aria-192-ofb Aria-192 Şifreleyici
aria256, aria-256-cbc, aria-256-cfb, aria-256-ctr, aria-256-ecb, aria-256-ofb Aria-256 Şifreleyici
base64 Base64 Kodlama
bf, bf-cbc, bf-cfb, bf-ecb, bf-ofb Blowfish Şifreleyici
camellia128, camellia-128-cbc, camellia-128-cfb, camellia-128-ctr, camellia-128-ecb, camellia-128-ofb Camellia-128 Şifreleyici
camellia192, camellia-192-cbc, camellia-192-cfb, camellia-192-ctr, camellia-192-ecb, camellia-192-ofb Camellia-192 Şifreleyici
camellia256, camellia-256-cbc, camellia-256-cfb, camellia-256-ctr, camellia-256-ecb, camellia-256-ofb Camellia-256 Şifreleyici
cast, cast-cbc CAST Şifreleyici
cast5-cbc, cast5-cfb, cast5-ecb, cast5-ofb CAST5 Şifreleyici
chacha20 Chacha20 Şifreleyici
des, des-cbc, des-cfb, des-ecb, des-ede, des-ede-cbc, des-ede-cfb, des-ede-ofb, des-ofb DES Şifreleyici
des3, desx, des-ede3, des-ede3-cbc, des-ede3-cfb, des-ede3-ofb Üçlü-DES (Triple-DES) Şifreleyici
idea, idea-cbc, idea-cfb, idea-ecb, idea-ofb IDEA Şifreleyici
rc2, rc2-cbc, rc2-cfb, rc2-ecb, rc2-ofb RC2 Şifreleyici
rc4 RC4 Şifreleyici
rc5, rc5-cbc, rc5-cfb, rc5-ecb, rc5-ofb RC5 Şifreleyici
seed, seed-cbc, seed-cfb, seed-ecb, seed-ofb SEED Şifreleyici
sm4, sm4-cbc, sm4-cfb, sm4-ctr, sm4-ecb, sm4-ofb SM4 Şifreleyici
Seçenekler
Hangi seçeneklerin kullanılabilir olduğuna dair ayrıntılar belirli komuta bağlıdır. Bu bölüm, ortak davranışa sahip bazı ortak seçenekleri açıklamaktadır.
Program Seçenekleri
Bu seçenekler, yardım veya sürüm bilgisi almak için bir komut belirtilmeden de kullanılabilir.
-help Tüm seçeneklerin kısa bir özetini sunar. Daha ayrıntılı bilgi için, her komut bir -help seçeneğini destekler. --help seçeneğini de kabul eder.
-version openssl program sürümünün kısa bir özetini sunar. Daha ayrıntılı bilgi için openssl-version(1) sayfasına bakın. --version seçeneğini de kabul eder.
Ortak Seçenekler
-help Bir seçenek argüman alıyorsa, argümanın "türü" de belirtilir.
--: Bu, seçenekler listesini sonlandırır. Çoğunlukla herhangi bir dosya adı parametresi eksi işareti ile başlıyorsa yararlıdır:
openssl verify [bayraklar...] -- -cert1.pem...
Biçim Seçenekleri
Kılavuz sayfası için openssl-format-options(1) sayfasına bakın.
Parola Seçenekleri
openssl-passphrase-options(1) kılavuz sayfasına bakın.
Rastgele Durum Seçenekleri
OpenSSL 1.1.1'den önce, uygulamaların rastgele sayı üretecinin durumuyla ilgili bilgileri başlangıçta yüklenen ve çıkışta yeniden yazılan bir dosyada saklaması yaygındı. Modern işletim sistemlerinde, OpenSSL işletim sistemi tarafından sağlanan güvenilir bir entropi kaynağından kendini besleyeceğinden (seed) bu genellikle artık gerekli değildir. Bu bayraklar, bunları gerektirebilecek özel platformlar veya durumlar için hala desteklenmektedir.
Aynı tohum (seed) dosyasını birden fazla kez kullanmak genellikle bir hatadır ve her -rand kullanımı bir -writerand ile eşleştirilmelidir.
-rand dosyalar Rastgele sayı üretecini beslemek için kullanılan rastgele verileri içeren bir veya daha fazla dosya. İşletim sistemine bağlı bir karakterle ayrılmış olarak birden fazla dosya belirtilebilir. Ayırıcı; MS-Windows için ";", OpenVMS için "," ve diğerleri için ":" karakteridir. Birden fazla dosya belirtmenin başka bir yolu da bu bayrağı farklı dosya adlarıyla yinelemektir.
-writerand dosya Çıkışta tohum verilerini belirtilen dosyaya yazar. Bu dosya, sonraki bir komut çağrısında kullanılabilir.
Sertifika Doğrulama Seçenekleri
openssl-verification-options(1) kılavuz sayfasına bakın.
İsim Biçimi Seçenekleri
openssl-namedisplay-options(1) kılavuz sayfasına bakın.
TLS Sürüm Seçenekleri
Çeşitli komutlar SSL, TLS veya DTLS kullanır. Varsayılan olarak, komutlar TLS kullanır; istemciler destekledikleri en düşük ve en yüksek protokol sürümünü sunar ve sunucular istemcinin sunduğu ve sunucu tarafından da desteklenen en yüksek sürümü seçer.
Aşağıdaki seçenekler, hangi protokol sürümlerinin kullanılacağını ve TCP (SSL ve TLS) mi yoksa UDP (DTLS) mi kullanılacağını sınırlamak için kullanılabilir. OpenSSL'in nasıl derlendiğine bağlı olarak tüm protokollerin ve bayrakların mevcut olmayabileceğini unutmayın.
-ssl3, -tls1, -tls1_1, -tls1_2, -tls1_3, -no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2, -no_tls1_3 Bu seçenekler, belirtilen SSL veya TLS protokollerinin kullanılmasını zorunlu kılar veya devre dışı bırakır. Belirli bir TLS sürümü istendiğinde, yalnızca o sürüm sunulur veya kabul edilir. Yalnızca belirli bir protokol verilebilir ve hiçbir no_ seçeneğiyle birleştirilemez. no_* seçenekleri s_time ve ciphers komutlarıyla çalışmaz ancak s_client ve s_server komutlarıyla çalışır.
-dtls, -dtls1, -dtls1_2 Bu seçenekler TLS yerine DTLS kullanılmasını belirtir. -dtls ile istemciler desteklenen herhangi bir DTLS protokol sürümünü müzakere edecektir. Sırasıyla yalnızca DTLS1.0 veya DTLS1.2 sürümünü desteklemek için -dtls1 veya -dtls1_2 seçeneklerini kullanın.
Motor (Engine) Seçenekleri
-engine id id ile tanımlanan motoru yükler ve komuta özgü belgelerde aksi belirtilmedikçe veya config(5) içindeki "Motor Yapılandırması" bölümünde açıklandığı gibi yapılandırılmadıkça uyguladığı tüm yöntemleri (algoritmalar, anahtar depolama vb.) kullanır.
-keyform engine gibi bir seçenek belirtildiğinde, -key ve benzeri seçeneklerle belirtilen anahtar kimlikleri için bu motor kullanılacaktır.
Özel bir durum, yalnızca dahili OpenSSL test amaçları için tasarlanmış ve dosyalardan anahtarlar, parametreler, sertifikalar ve CRL'ler yüklemeyi destekleyen "loader_attic" motorudur. Bu motor kullanıldığında, bu tür kimlik bilgilerine sahip dosyalar bu motor aracılığıyla okunur. "file:" şemasını kullanmak isteğe bağlıdır; düz bir dosya (yol) adı yeterli olacaktır.
-key ve benzeri anahtar belirten seçenekler, özel anahtarları ve açık anahtarları almak için genel OpenSSL motoru anahtar yükleme URI şeması olan "org.openssl.engine:" şemasını kullanabilir. URI sözdizimi, basitleştirilmiş biçimde aşağıdaki gibidir:
org.openssl.engine:{motor_kimliği}:{anahtar_kimliği}
Burada "{motor_kimliği}" motorun kimliği/adı, "{anahtar_kimliği}" ise o motor tarafından kabul edilebilir bir anahtar tanımlayıcısıdır. Örneğin, bir PKCS#11 uygulamasına arayüz sağlayan bir motor kullanırken, genel anahtar URI'si şuna benzer bir şey olacaktır (bu, OpenSC'nin bir parçası olan PKCS#11 motoru için bir örnektir):
-key org.openssl.engine:pkcs11:label_some-private-key
Üçüncü bir olasılık olarak, kendi OSSL_STORE_LOADER(3) işlevlerini uygulayan motorlar ve sağlayıcılar (providers) için "org.openssl.engine:" gerekli olmamalıdır. Böyle bir yükleyici uygulayan bir PKCS#11 uygulaması için, RFC 7512'de tanımlanan PKCS#11 URI'si doğrudan kullanılabilir olmalıdır:
-key pkcs11:object=some-private-key;pin-value=1234
Sağlayıcı (Provider) Seçenekleri
-provider ad ad ile tanımlanan sağlayıcıyı yükler ve başlatır. ad, sağlayıcı modülünün yolu da olabilir. Bu durumda sağlayıcı adı, yalnızca sağlayıcı modül adı değil, belirtilen yol olacaktır. Göreli yolların yorumlanması platforma özgüdür. Yapılandırılmış "MODULESDIR" yolu, OPENSSL_MODULES ortam değişkeni veya -provider-path tarafından belirtilen yol göreli yolların başına eklenir. Daha ayrıntılı bir açıklama için provider(7) sayfasına bakın.
-provider-path yol Sağlayıcıları aramak için kullanılacak arama yolunu belirtir. Eşdeğer olarak, OPENSSL_MODULES ortam değişkeni de ayarlanabilir.
-provparam [ad:]anahtar=değer name sağlayıcısındaki yapılandırma parametresi anahtar'ını değer değerine ayarlar (isteğe bağlı). name belirtilmezse, ayar tüm yüklü sağlayıcılara uygulanır. Birden fazla parametre ayarlamak için bu seçenek birden çok kez belirtilebilir. Varsayılan olmayan sağlayıcıların yüklenmesini belirten seçenekler, ayarın yüklenecek sağlayıcılara uygulanması isteniyorsa bu seçenekten önce gelmelidir. Yalnızca sağlayıcı başlatılmasını etkileyen parametreler şimdilik yapılandırma dosyasında ayarlanmalıdır; yalnızca daha sonra gerektiğinde sorgulanan parametreler bu arayüz aracılığıyla ayarlandığında etkili olur. Yalnızca UTF8-dizesi değerine sahip parametreler desteklenir. Desteklenen parametreler için belirli sağlayıcının ve ilgili algoritmaların belgelerine bakın.
-propquery propq Yüklü sağlayıcılardan algoritmalar alınırken kullanılacak özellik sorgusu (property query) ifadesini belirtir. Daha ayrıntılı bir açıklama için property(7) sayfasına bakın.
Ortam Değişkenleri
OpenSSL kütüphaneleri bazı yapılandırma parametrelerini ortamdan alabilir.
OPENSSL_CONF, OPENSSL_MODULES ve OPENSSL_TRACE gibi OpenSSL kütüphaneleri tarafından kullanılan tüm ortam değişkenleri hakkında bilgi için openssl-env(7) sayfasına bakın.
Yapılandırmada ortam değişkenlerinin kullanımı hakkında bilgi için config(5) belgesindeki "ENVIRONMENT" bölümüne bakın.
Belirli komutlar hakkında bilgi için openssl-engine(1), openssl-rehash(1) ve tsget(1) sayfalarına bakın.
CPU mimari bayraklarını sorgulama veya belirtme hakkında bilgi için OPENSSL_ia32cap(3), OPENSSL_ppccap(3), OPENSSL_s390xcap(3) ve OPENSSL_riscvcap(3) sayfalarına bakın.
Ayrıca Bakınız
openssl-asn1parse(1), openssl-ca(1), openssl-ciphers(1), openssl-cms(1), openssl-crl(1), openssl-crl2pkcs7(1), openssl-dgst(1), openssl-dhparam(1), openssl-dsa(1), openssl-dsaparam(1), openssl-ec(1), openssl-ecparam(1), openssl-enc(1), openssl-engine(1), openssl-errstr(1), openssl-gendsa(1), openssl-genpkey(1), openssl-genrsa(1), openssl-kdf(1), openssl-list(1), openssl-mac(1), openssl-nseq(1), openssl-ocsp(1), openssl-passwd(1), openssl-pkcs12(1), openssl-pkcs7(1), openssl-pkcs8(1), openssl-pkey(1), openssl-pkeyparam(1), openssl-pkeyutl(1), openssl-prime(1), openssl-rand(1), openssl-rehash(1), openssl-req(1), openssl-rsa(1), openssl-rsautl(1), openssl-s_client(1), openssl-s_server(1), openssl-s_time(1), openssl-sess_id(1), openssl-smime(1), openssl-speed(1), openssl-spkac(1), openssl-srp(1), openssl-storeutl(1), openssl-ts(1), openssl-verify(1), openssl-version(1), openssl-x509(1), config(5), crypto(7), openssl-env(7). ssl(7), x509v3_config(5)
Tarihçe
list -XXX-algorithms seçenekleri OpenSSL 1.0.0 sürümünde eklenmiştir; diğer komutların kullanılabilirliği ile ilgili notlar için kendi kılavuz sayfalarına bakın.
-issuer_checks seçeneği OpenSSL 1.1.0 sürümünden itibaren kullanımdan kaldırılmıştır ve sessizce yoksayılır.
-xcertform ve -xkeyform seçenekleri OpenSSL 3.0 sürümünden beri geçerliliğini yitirmiştir ve hiçbir etkisi yoktur.
Başka argüman belirtilmeden yalnızca "openssl" çalıştırılarak çağrılabilen etkileşimli mod OpenSSL 3.0 sürümünde kaldırılmıştır ve bu programın hiçbir argüman olmadan çalıştırılması artık "openssl help" komutuyla eşdeğerdir.
Telif Hakkı
Telif Hakkı 2000-2025 OpenSSL Projesi Yazarları. Tüm Hakları Saklıdır.
Apache Lisansı 2.0 ("Lisans") kapsamında lisanslanmıştır. Lisansla uyum dışında bu dosyayı kullanamazsınız. Lisansın bir kopyasını kaynak dağıtımındaki LICENSE dosyasından veya https://www.openssl.org/source/license.html adresinden edinebilirsiniz.