Zertifizierungsserver verweigert die Zertifikatsanfrage

N

Nikolai Wylutzki

Hallo An alle

obwohl ich hier in VB 6.0 entwickle sztelle ich diese frage in diesem
Forum, da ich mir nicht anders helfen kann. In einem anderen Forum habe
ich bis jetzt noch keine Antwort zu diesem Problem erhalten.


Situation:
----------
Ich habe einen Zertifikatserver (Windows 2003 Entprise) am laufen.
Auf einem anderen Rechner läuft ein VB Programm, dass Zertifikate
beantragt. Dieser Rechner ist in der gleichen Domäne und hat Zugriffsrechte.

Wenn ich mit dem Visual basic 6.0 Programm ein Zertifikatsrequest
durchführe kommt folgende Fehlermeldung:

Fehlermeldung:
---------------
Verweigert vom Richtlinienmodul 0x80094801. Die Anforderung enthält
werder die Erweiterung für die Zertifikatvorlage, noch das
Anforderungsattribut "CertificateTemplate"

Was soll mir diese Fehlermeldung sagen ?
Ich habe den Code unten angehängt.



Auf dem Zertifizierungsserver sehe ich diese fehlgeschlagene Anfrage in
der Liste der "fehlgeschlagenen Anforderungen". Das heisst also, die
Anfrage wird eigentlich korrekt abgesetzt, nur irgend wie ist die
Anfrage fehlerhaft bzw. unvollständig. Was fehlt denn da ?
Ichhabe das Beispiel aus dem Buch "Developing Secure Applications with
Visual Basic"


Hier der Code:

------------------------------------------------
Public Function DoCertRequest() As Boolean

DoCertRequest = False

Dim strDN As String
Dim strReq As String
Dim lDisp As Long
Dim strMsg As String

On Error GoTo DoCertReqErr


strDN = "CN=" & m_strUserName + ",OU=" + m_strUnit + ",O=" +
m_strOrganization + ",L=" + m_strCity + ",S=" + m_strState + ",C=" +
m_strCountry
If (m_strEMail <> "") Then
strDN = strDN + ",E=" & m_strEMail
End If

m_objXen.KeySpec = m_lKeySpec

strReq = m_objXen.createPKCS10(strDN, "1.3.6.1.4.1.311.2.1.21")
'm_strKeyUsage)


lDisp = m_objReq.Submit(CR_IN_BASE64 Or CR_IN_PKCS10, strReq, "",
Trim(m_strServer) + "\" + Trim(m_strCA))


strMsg = m_objReq.GetDispositionMessage

MsgBox strMsg, vbOKOnly, "Zertifikatsanfrage"


If ((lDisp = CR_DISP_INCOMPLETE) Or (lDisp = CR_DISP_ERROR) Or (lDisp =
CR_DISP_DENIED)) Then
Exit Function
End If


m_lReqID = m_objReq.GetRequestId


If (lDisp = CR_DISP_ISSUED) Or (lDisp = CR_DISP_ISSUED_OUT_OF_BAND) Then
If Not GetCert() Then Exit Function
End If

DoCertRequest = True

Exit Function

DoCertReqErr:

MsgBox "Fehler#" & Err.Number & " ( " & Err.Description & ")",
vbCritical, "Fehler"

End Function

--------------------------------------------------------------

in der Zeile : 'lDisp = m_objReq.Submit(CR_IN_BASE64 Or CR_IN_PKCS10,
strReq, "", Trim(m_strServer) + "\" + Trim(m_strCA))
' wird dieser Fehler erzeugt und die Zeile 'strMsg =
m_objReq.GetDispositionMessage' ruft die Fehlermeldung vom Server ab.


Ich habe keinen Schimmer warum das nicht geht, denn auf der MSDN Site
ist diese Submit Zeile genauso angegeben.


Bin um jeden Hinweis und Tip froh.

Danke

Nikolai Wylutzki
 
H

Herfried K. Wagner [MVP]

Nikolai Wylutzki said:
obwohl ich hier in VB 6.0 entwickle sztelle ich diese frage in diesem
Forum, da ich mir nicht anders helfen kann. In einem anderen Forum habe
ich bis jetzt noch keine Antwort zu diesem Problem erhalten.

Die Wahrscheinlichkeit, hier, in einer englischsprachigen Newsgroup zu
VB.NET, eine Antwort auf eine deutschsprachig formulierte VB6-Frage zu
erhalten, ist wohl verschwindend gering. Du solltest stattdessen die Frage
auf Englisch formulieren und in eine der Newsgroups in der Hierarchie
"microsoft.public.vb.*" posten.
 
C

Cor Ligthert [MVP]

Herfried,
Die Wahrscheinlichkeit, hier, in einer englischsprachigen Newsgroup zu
VB.NET, eine Antwort auf eine deutschsprachig formulierte VB6-Frage zu
erhalten, ist wohl verschwindend gering. Du solltest stattdessen die Frage
auf Englisch formulieren und in eine der Newsgroups in der Hierarchie
"microsoft.public.vb.*" posten.

--
A little translation for those who don't speak German. You can give now the
idea that you are answering the question of the OP in German.
----------------------------------------
The change, here, in a English language newsgroup for VB.Net, to become an
answer on an in the German language formulated VB-6 Question is very small.
Therefore you would have to do that in English and post that in a Newsgroup
in the categorie microsoft.public.vb*.
----------------------------------------

Do you next time it yourself again

:)

Thanks in advance

Cor
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top