Bir SSL CSR'ı tekrar kullanabilir miyim?


21

Yeni bir web sitesini test etmek için kendinden sertifikalı bir SSL sertifikası oluşturdum. Sitenin yayına girme zamanı geldi ve şimdi GeoTrust'tan bir sertifika almak istiyorum. Kendini sertifika için oluşturduğum CSR'yi kullanabilir miyim, yoksa yeni bir tane mi oluşturmam gerekiyor?

Zengin

Yanıtlar:


19

Aynı anahtarı kullandığınız sürece, etki alanı (aka ortak ad), iletişim bilgileri ve geçerlilik süresi aynı CSR'yi kullanabilmeniz gerekir.

Dürüst olmak gerekirse, bir KSS oluşturmak oldukça basit bir iştir, bu nedenle iletişim ayrıntılarını değiştirmeniz gerekir (ki bu birçok SSL sağlayıcısının üzerinde durur) önemli bir şey değildir.


1
Katılıyorum. Bir KSS oluşturmak çok önemsiz bir iştir, neden birisini tekrar kullanmayı denemekle uğraştığını bile anlamadım.
joeqwerty

5
OpenSSL'yi kurduktan sonra, yaklaşık 30 saniye içinde yeni bir CSR oluşturabilirsiniz. Ve eğer çok daha uzun süreceğini düşünüyorsanız, o zaman kesinlikle pratik yapın çünkü !!!!!
Austin '' Tehlike ''

1
OP'nin durumu için geçerli değildir, ancak sertifika sabitlemeyi kullanmak istiyorsanız, aynı CSR'yi kullanmak, istemci tarafı uygulamalarınızı güncellemekten daha pratiktir.
siyah,

Anahtar, etki alanı ve ayrıntılar aynıysa, CSR aynı olacaktır.
graywh

11

Örnek durumunuz için, KSS’leri yeniden kullanmaya çalışmanın faydası olmadığını düşünüyorum. Bununla birlikte, çok çeşitli bir ekip için Apple iOS geliştiricileri (benim gibi) bunu yapmak için iyi bir neden var. Tüm imzalama sertifikalarımızı yaratıyor (aslında Apple'dan talep etmesini istiyoruz) ve aynı özel anahtarı onaylıyoruz. Bu şekilde hepimiz 85+ uygulamalarımızda kolayca işbirliği yapabiliriz. Bu nedenle, tek bir CSR'yi etrafta yatar ve anahtar geçerli olduğu sürece her zaman aynı olanı kullanırız.

Bildiğim kadarıyla, art arda tek bir özel anahtardan CSRs oluşturmak için hiçbir neden yoktur. Yanlış yaparsam düzeltilmeyi çok isterim.


6
Düzeltme olmadan 4 yıl oldu. Sanırım yanlış değilim.
Bruno Bronosky

5

Sınırlı süreli sertifikalara sahip olmanın asıl yararı, özel anahtarınız sızdırılmışsa hasarı azaltmaktır. Özel anahtara sahip olan bir kişi, CSR’yi yeniden kullanırsanız sonsuza dek siz olduğunuzu taklit edebilir, çünkü CSR’yi yeniden kullanmak, özel anahtarınızın yeniden kullanılmasını gerektirir.

Lütfen bunu yapma, hem özel anahtarların hem de CSR'lerin oluşturulmasını otomatikleştirmek ve sürekli değişen özel anahtarları uygulama oluşturma sunucularına ve push sunucularına dağıtmak için uygun yollar bulmak daha iyidir. Çoğu ölümcül geliştiricinin normalde hiçbir zaman uygulama mağazası için bir sürüm oluşturma / dağıtım oluşturma işlemi yapması gerekmez, bu nedenle özel anahtarlara gerek kalmaz.


1
"CSR’yı yeniden kullanmak, özel anahtarınızın da yeniden kullanılması anlamına gelir" olduğu doğru olsa da, "CSR’yi tekrar kullanırsanız sonsuza dek kendiniz olduğunuzu taklit etmek" anlamına gelmez. N ay boyunca bir anahtar kullanmaya karar verirseniz, bu N ay boyunca aynı KSS'yi kullanmanız iyi olur.
Bruno Bronosky

2
Evet haklısın Bruno. CSR'yi yeniden kullanan insanların bunu cehaletten çıkardıklarını ve bu nedenle “sonsuza dek” uygulamasına devam ettiklerini varsaydım, ancak elbette sorunları bilen ve sınırlı bir süre için dikkatli planlamaya dayanan birkaç kişi olabilir.
Stefan L

1

Gerçekten de teoride aynı CSR'yi kullanabilirsiniz, çünkü bu sadece bir konteyner.

  • Genel Anahtarınız (yalnızca RSA şifrelemesi için kullanılan Sayılar (belirli matematik))
  • "Konu" ayrıntılarınız (kim olduğunuz, hangi etki alanı, vb ...) Bu Genel Anahtarın sahibini tanımlamak için kullanılan metin

Ne de olsa bir sertifika (PublicKey Sertifikası için kısa olan)

Ancak diğer cevaplarda da belirtildiği gibi, özel anahtarı düzenli aralıklarla değiştirmek iyi bir pratiktir, böylece yeni Sertifika ve onu almak için yeni KSS anlamına gelir.

Bir CSR'nin içeriğine kolayca bakabilirsiniz

Örneğin

$ openssl req -new -batch -subj "/CN=My Common Name/OU=My Org Unit/O=My Organisation" -sha256 -newkey rsa:2048 -keyout private.key -nodes -out request.csr
Generating a 2048 bit RSA private key
.............................................................................................+++++
.........+++++
writing new private key to 'private.key'
-----

$ ls
private.key  //  keep that private, the PublicKey side is easily be generated from this
request.csr // your PublicKey + Subject details

CSR

$ openssl req -in request.csr -text -noout
Certificate Request:
    Data:
        Version: 1 (0x0)
        Subject: CN = My Common Name, OU = My Org Unit, O = My Organisation
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (2048 bit)
                Modulus:                    ///////// Matches the PrivateKey modulus
                    00:b1:e8:de:e6:bf:21:45:51:75:15:23:5e:6e:7a:
                    7d:95:53:e5:d5:ec:5b:38:cd:7f:38:2d:53:8a:54:
...
                    fe:b5:78:de:9b:c1:ee:c1:51:6f:fd:fb:0e:62:09:
                    03:87
                Exponent: 65537 (0x10001)   ///////// Matches the PrivateKey publicExponent
        Attributes:
            a0:00
    Signature Algorithm: sha256WithRSAEncryption
         a1:44:1f:b2:ec:c0:82:bc:99:da:69:ce:3e:77:9f:46:51:95:
...
         3b:2d:84:e3:73:ac:be:c8:da:29:fd:62:90:11:dd:8a:a6:4f:
         7b:f8:ac:f1

Ve PrivateKey

$ openssl rsa -in private.key -text -noout
// all the below are numbers that takes part in Mathematical encryption (search for RSA maths)
RSA Private-Key: (2048 bit, 2 primes)

// The Numbers that can be freely published
modulus:
    00:b1:e8:de:e6:bf:21:45:51:75:15:23:5e:6e:7a:
    7d:95:53:e5:d5:ec:5b:38:cd:7f:38:2d:53:8a:54:
...
    fe:b5:78:de:9b:c1:ee:c1:51:6f:fd:fb:0e:62:09:
    03:87
publicExponent: 65537 (0x10001)

// The Numbers that must be kept private !
privateExponent:
    0a:81:73:d8:30:65:28:90:bc:d7:38:b5:74:d4:aa:
...
    b1:9b:30:2e:a2:dd:46:c1:10:0f:b0:da:ac:b6:ea:
    01
prime1:
    00:e0:28:01:87:95:70:d0:b8:21:07:e0:4f:96:a6:
...
    66:28:8f:3d:d7:eb:e6:b4:81
prime2:
    00:cb:2e:fe:1b:b6:30:ea:8d:9e:6d:23:83:d8:b6:
...
    4d:64:39:5c:9c:18:a0:14:07
exponent1:
    22:e2:36:f2:b9:af:f7:db:5f:d0:90:f8:f1:d1:ff:
...
    3a:31:a8:87:2c:c0:17:81
exponent2:
    5a:8b:3d:77:f1:ef:c8:86:85:a4:13:20:8d:31:a4:
...
    a5:ba:1e:37:fd:8d:50:7f
coefficient:
    00:d3:d3:b6:81:4b:a9:c2:aa:ff:e1:07:cb:de:ea:
...
    5c:e9:3b:d3:f7:67:82:c3:7f
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.