.Keystore dosyası ile .jks dosyası arasındaki fark


227

.keystoreDosyalar ve .jksdosyalar arasındaki farkı bulmaya çalıştım , ancak bulamadım. jks"Java anahtar deposu" olduğunu biliyorum ve her ikisi de anahtar / değer çiftlerini saklamanın bir yoludur.

Birini diğerinin üzerinde kullanma konusunda herhangi bir fark veya tercih var mı?

Yanıtlar:


197

Sonuçta .keystoreve .jkssadece dosya uzantıları: dosyalarınızı mantıklı bir şekilde adlandırmak size kalmış. Bazı uygulamalar, depolanan bir anahtar deposu dosyası kullanır $HOME/.keystore: JKS, Sun / Oracle Java güvenlik sağlayıcısında varsayılan anahtar deposu türü olduğu için genellikle bir JKS dosyası olduğu anlamına gelir . .jksVarsayılan olarak ima edildiği için herkes JKS dosyaları için uzantıyı kullanmaz . Hangi türün belirtileceğini (gerekirse) hatırlamak için uzantıyı kullanmanızı öneririm.

Java'da, anahtar deposu sözcüğü bağlama bağlı olarak aşağıdaki anlamlardan birine sahip olabilir:

Dosya ve depolama hakkında konuşurken, bu gerçekten anahtar / değer çiftleri için bir depolama tesisi değildir (bunun için bol veya başka formatlar vardır). Bunun yerine, kriptografik anahtarları ve sertifikaları saklamak için bir kap (bazılarının da şifreleri saklayabileceğine inanıyorum). Genel olarak, bu dosyalar yetkisiz tarafların kullanımına sunulmayacak şekilde şifrelenir ve parola korumalıdır.

Java KeyStore, bir anahtar deposundan ( dosya tabanlı olsun ya da olmasın ) yararlanmak için sınıfını ve ilgili API'sını kullanır . JKSJava'ya özgü bir dosya biçimidir, ancak API, genellikle PKCS # 12 gibi diğer dosya türleriyle de kullanılabilir. Bir anahtar deposu yüklemek istediğinizde, anahtar deposu türünü belirtmeniz gerekir. Geleneksel uzantılar:

  • .jkstür için "JKS",
  • .p12veya .pfxtür için "PKCS12"(belirtim adı PKCS # 12'dir, ancak #Java anahtar deposu tür adında kullanılmaz).

Buna ek olarak, BouncyCastle de uygulamalarını, özellikle Android uygulamaları için sıklıkla kullanılan BKS'yi (genellikle .bksuzantıyı kullanarak ) sağlar.


Uzantıyı .jks'den .keystore'a değiştirmekten daha iyi çalışacağımı onaylayabilirim. Lütfen yapmadan önce yedekleyin !!
BMaximus

77

Bu konuda kafan karıştı.

A keystore, sertifikalar, özel anahtarlar vb. İçeren bir kaptır.

Bu anahtar deposunun formatının ne olması gerektiği konusunda spesifikasyonlar var ve baskın # PKCS12

JKS, Java'nın anahtar deposu uygulamasıdır. Ayrıca BKS vb. Var.

Bunların hepsi anahtar deposu tipleridir .

Sorunuzu cevaplamak için:

.keystore dosyaları ve .jks dosyaları arasındaki fark

Hiç yok. JKS anahtar deposu dosyalarıdır. Anahtar deposu türleri arasında fark vardır . Ör. JKSVs#PKCS12


2
Ben hakim anahtar deposu türü sadece "anahtar deposu" sözcüğü Java terminolojisinin bir parçası olduğu için, sadece nadiren Java bağlamı dışında kullanılan, PKCS # 12 değil JKS olduğunu söyleyebilirim . Bununla birlikte, PKCS # 12 dosyaları oldukça yaygındır (tipik olarak .pfxveya .p12).
Bruno

@Bruno: Java uygulamalarında baskın tiptir.
Cratylus

10
Hayır, yani "anahtar deposu" kelimesi çoğunlukla bir Java kelimesi. Diğer uygulamalar / platformlar, anahtarların ve sertifikaların bir "anahtar deposu" saklandığı yeri / dosyayı nadiren çağırır. MS, örneğin PKCS # 12 dosyalarını "Kişisel Bilgi Değişimi" dosyalarını çağırır. Diğerlerinin anahtar ve sertifika depoladıkları yerler için "anahtar zinciri" (OSX), "sertifika veritabanı" (NSS), "sertifika deposu", "anahtar halkaları", ... gibi adları vardır.
Bruno

3
@Bruno: Sana point.I bu before.Thanks gibi bunu düşünmemişti mean.Good görmek
Kratilus'unda

3

.Keystore'u .jks üzerinden seçmenin bir nedeni, anahtar deposu dosyanızı (Unity 2017.3, macOS) seçmek için gezinirken Unity'nin birincisini tanıması ancak ikincisini tanımamasıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.