CRYPT_E_NOT_FOUND beim importieren Zertifikat

Ich bin versucht, zu automatisieren den Prozess der Erstellung eines certificate signing request, und dann importieren Sie die Antwort der CA auf einem Windows Server 2012 R2-server als ein cert für eine SSL-Bindung im IIS. Ich bin in der Lage, zum generieren der CSR, die ich dann an das security-team sorgt dann dafür, mich mit einer Antwort zu importieren, bin aber Probleme bekommen es zu importieren.

Dieser server ist in einer Arbeitsgruppe. Dachte, ich würde erwähnen, dass so keine AD-Registrierungs-Politik.

Hier mein Verfahren:

  1. Generieren eines CSR mit certreq.exe auf dem server in Frage. Eine INF-Datei erzeugt, die so aussieht:
[Version]
Signature = "$Windows NT$"
[NewRequest]
Subject = "C=US,S=California,L=City,O=Company,OU=IT,CN=hostname"
Exportable = TRUE
KeyLength = 2048
KeySpec = 1
KeyUsage = 0xa0
MachineKeySet = True
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
Silent = True
SMIME = False
RequestType = PKCS10

Diese INF-Datei bekommt dann verwandelte sich in die CSR .req-Datei zu tun:

certreq.exe -new "C:\inffile.inf" "C:\certreq.req"

Den REQ-Datei versandt wird, um das security-team, und Sie geben mir wieder ein .CER-Datei, die beim Import manuell, tatsächlich bietet drei Zertifikate von Digicert. Das Zertifikat erwarte ich, und was aussieht, um einige der intermediate CAs.

Hier ist was, das aussieht wie beim Import über die MMC das Zertifikate-Snap-in.

CRYPT_E_NOT_FOUND beim importieren Zertifikat

Wenn ich importieren Sie das Zertifikat über die MMC, wie diese es nicht zeigen, bis in der IIS-manager unter Server-Zertifikate, so schaute ich ein wenig tiefer. Ich habe versucht, um die komplette certificate signing request, die über den IIS-manager, wie dies und das cert zeigt, und ich bin glücklich.

CRYPT_E_NOT_FOUND beim importieren Zertifikat

Jedoch kann ich nicht über die GUI, da bin ich über ein Skript.

Ich bestätigen, dass die Anforderung ist im Zertifikat-Registrierungs-Anfragen mit dem privaten Schlüssel.

CRYPT_E_NOT_FOUND beim importieren Zertifikat

Ich bestätigen, dass der öffentliche Schlüssel von der CSR und die p7b ich wieder bereitgestellt werden, sind die gleichen.

certutil -dump issuedcert.cer
certutil -dump certreq.req

PROBLEM: ich exportiert das CSR-Zertifikat von Registrierungs-Anfragen und schaute auf den öffentlichen Schlüssel. Es war NICHT der gleiche wie der in issuedcert.cer. Wie es aussieht wird das das problem aber warum?

Ich dann versuchen, zu verwenden certreq.exe akzeptieren Sie die Antwort, und es funktioniert nicht.

certreq.exe -accept -machine "C:\issuedcert.cer"

Fast fertig, aber Nein. Ich ständig diese Fehlermeldung erhalten:

CRYPT_E_NOT_FOUND beim importieren Zertifikat

  • siehe meine bearbeitete Antwort.
  • Haben Sie versucht, entfernen die 2 Zwischenprodukte aus der cer-Datei? Sollten die unteren 2 wenn Sie die Datei in Editor öffnen, vorausgesetzt, dass der standard-base64-codierte DER-Einträge
InformationsquelleAutor Adam Bertram | 2015-10-14
Schreibe einen Kommentar