Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

Нова тема
Цифров подпис в XML
Тази тема е погледната 305 пъти
Добави темата към любими | Принтирай темата | Нова тема 
Публикувано на: 02.09.2008 16:21
hhk1
Чирак

Мнения: (3)

Здравейте,
Имам цифрово подписан XML (фактура), който с XSL визуализирам в браузър(IE). Как и коя част от цифровия подпис може да се визуализира, за да може да се направи проверка за валидността на този цифров подпис? 


 
---------------------------
Потребител от: 02.09.08 | Всички уроци от hhk1 | Всички скриптове от hhk1
напиши eMail напиши лично съобщение виж профила на hhk1
Публикувано на: 03.09.2008 08:46
Bibi
Самурай

Мнения: (294)

Попитай в блога на eFactura те как го правят:
http://efakturabg.blogspot.com/2008/03/blog-post_12.html

Погледнах в техния xslt, но ми липсва някакъв dll и не виждам какво визуализират.
Иначе мога да ти дам фрагмента, да видиш сам.


 
---------------------------
Потребител от: 15.01.06 | Всички уроци от Bibi | Всички скриптове от Bibi
напиши eMail напиши лично съобщение виж профила на Bibi
Публикувано на: 03.09.2008 08:51
Mutatos
Император

Администратор

Мнения: (1277)

Дайте малко повече инфо за тази eFaktura. Как може да я използваме ... има ли урочета нещо да прочетем?

Мерси!


 
---------------------------
Потребител от: 18.04.04 | Всички уроци от Mutatos | Всички скриптове от Mutatos

Търся за почасова надомна работа преводачи от английски език за превод на материали от IT сферата - новини, уроци ...!
напиши eMail напиши лично съобщение виж профила на Mutatos
Публикувано на: 03.09.2008 09:18
napster
Император

Модератор

Мнения: (694)

Тук има доста инфо!


 
---------------------------
Потребител от: 25.02.08 | Всички уроци от napster | Всички скриптове от napster

Шизофрения е когато в един форум общуваш
сам със себе си под три различни ника!!!
http://www.hidrostroitel.com




напиши eMail напиши лично съобщение виж профила на napster
Публикувано на: 03.09.2008 09:32
Bibi
Самурай

Мнения: (294)

Да, там е описано.
Аз не съм ползвала системата им, но исках да постигна съвместимост с техните.
За всеки случай...
Иначе структурата на данните при тях не ми харесва особено.
Ако някой се интересува, имам XML-Scheme за тях.


 
Това мнение е редактирано от Bibi на 03.09.2008 09:33
---------------------------
Потребител от: 15.01.06 | Всички уроци от Bibi | Всички скриптове от Bibi
напиши eMail напиши лично съобщение виж профила на Bibi
Публикувано на: 03.09.2008 10:05
napster
Император

Модератор

Мнения: (694)

Може ли да го покажеш?


Поздрави!!!


 
---------------------------
Потребител от: 25.02.08 | Всички уроци от napster | Всички скриптове от napster

Шизофрения е когато в един форум общуваш
сам със себе си под три различни ника!!!
http://www.hidrostroitel.com




напиши eMail напиши лично съобщение виж профила на napster
Публикувано на: 03.09.2008 12:21
hhk1
Чирак

Мнения: (3)

За Самурай:

Те тези от Банксервиз едва ли ще ми кажат как точно го правят, поне аз си мисля така, но наистина ако може да хвърля едно око на този XSLT, няма да е зле. Молбата ми е, ако можеш да ми го изпратиш на мейл: hristo.k@mail.bg, пък да видим какво ще стане.


 
Това мнение е редактирано от hhk1 на 03.09.2008 12:40
---------------------------
Потребител от: 02.09.08 | Всички уроци от hhk1 | Всички скриптове от hhk1
напиши eMail напиши лично съобщение виж профила на hhk1
Публикувано на: 03.09.2008 13:05
Bibi
Самурай

Мнения: (294)

Ето как им е схемата:
http://bibi.djendo.net/Efactura_XML_BS_Standard.pdf

@hhk1,
За Банксервиз не знам. Уж затова са си направили блога. На мен ми отговориха, когато писах там.
Ето ти каквото виждам в техния сорс:

XSLT:
CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<!-- ========== Certificate ========== -->
<xsl:if test="//ds:KeyInfo/ds:X509Data/ds:X509Certificate">
    <
xsl:variable name="X509Certificate" select="normalize-space(//ds:KeyInfo/ds:X509Data/ds:X509Certificate/text())"/>
    <
xsl:variable name="tmp">
        <
xsl:call-template name="replace-string">
            <
xsl:with-param name="text" select="$X509Certificate"/>
            <
xsl:with-param name="replace" select="'
'
"/>
            <
xsl:with-param name="with" select="''"/>
        </
xsl:call-template>
    </
xsl:variable>
    <
xsl:variable name="X509Certificate1" select="$tmp"/>
    <
xsl:variable name="tmp1">
        <
xsl:call-template name="replace-string">
            <
xsl:with-param name="text" select="$X509Certificate"/>
            <
xsl:with-param name="replace" select="'
'
"/>
            <
xsl:with-param name="with" select="''"/>
        </
xsl:call-template>
    </
xsl:variable>
    <
xsl:variable name="X509Certificate2" select="$tmp1"/>
    <
xsl:variable name="tmp2">
        <
xsl:call-template name="replace-string">
            <
xsl:with-param name="text" select="$X509Certificate2"/>
            <
xsl:with-param name="replace" select="' '"/>
            <
xsl:with-param name="with" select="''"/>
        </
xsl:call-template>
    </
xsl:variable>
    <
xsl:variable name="X509Certificate3" select="$tmp2"/>
    <
xsl:variable name="tmp3">
        <
xsl:call-template name="replace-string">
            <
xsl:with-param name="text" select="$X509Certificate3"/>
            <
xsl:with-param name="replace" select="'    '"/>
            <
xsl:with-param name="with" select="''"/>
        </
xsl:call-template>
    </
xsl:variable>
    <
xsl:variable name="X509Certificate4" select="$tmp3"/>
    <
script>
        var cert='
<xsl:value-of select="$X509Certificate4"/>';
        function DefCertInfo(acert) {
            try {
                var v_cert=new ActiveXObject('CAPICOM.Certificate');
                v_cert.Import(acert);
                v_cert.Display();
                return false;
            }
            catch(e) {
                alert('Моля, регистрирайте CAPICOM.DLL');
                return false;
            }
        }
   
</script>
</
xsl:if>
<
xsl:if test="//ds:KeyInfo/ds:X509Data/ds:X509Certificate">
    <
object id="oCAPICOM" classid="clsid:A996E48C-D3DC-4244-89F7-AFA33EC60679" codebase="inc/capicom.cab#version=2,1,0,1">
  </
object>
    <
p/>
</
xsl:if>

приложена върху такъв XML:
CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    <
ds:SignedInfo>
        <
ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
        <
ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
        <
ds:Reference URI="">
            <
ds:Transforms>
                <
ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
            </
ds:Transforms>
            <
ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
            <
ds:DigestValue>HPr/Oe/lH2ldRByxeLtKt9dm78E=</ds:DigestValue>
        </
ds:Reference>
    </
ds:SignedInfo>
    <
ds:SignatureValue>
    Yo7dYZhrXL/DnOovm0ULJFrY4yxCuTD/uAmn/nVtX2B6a6OTWTlD/s24fl+DH+XW0SQm8XMP
    WxTNLXOTztSEugA2Prehofq/TaqNqp8JElZUVQT+aPJYOZkRcQIkiXBDQn9IYGBZqv5MvfYf
    iScqL7NZrAS1jEkvF41oYNNslUw=
 
</ds:SignatureValue>
    <
ds:KeyInfo>
    <
KeyValue xmlns="http://www.w3.org/2000/09/xmldsig#">
      <
RSAKeyValue>
        <
Modulus>
          hufysHKSZle57+wYdc3LJqtQi+SmEstaKob0A/aweegkAXkSwqsZ5BmPcXnTfjfQ9S1cNRrl
          775u8L+xGfybjvE7nnSvrewjChAdgOAJbliTGwrjSS3PVvJPJJ5Z2aOTd5Fef4FlRKHbWPIQ
          L2BiwocYKoiUzcc7cQxgIf9ztcs=
       
</Modulus>
        <
Exponent>AQAB</Exponent>
      </
RSAKeyValue>
    </
KeyValue>
    <
X509Data xmlns="http://www.w3.org/2000/09/xmldsig#">
      <
X509Certificate>
        MIIHFzCCBf+gAwIBAgIDAL5lMA0GCSqGSIb3DQEBBQUAMIIBHjELMAkGA1UEBhMCQkcxDjAM
        BgNVBAgTBVNvZmlhMQ4wDAYDVQQHEwVTb2ZpYTEuMCwGA1UEChMlQmFua3NlcnZpY2UgUExD
        IC0gQlVMU1RBVCBVIDAwMDY0MDk1NDEQMA4GA1UECxMHQi1UcnVzdDFAMD4GA1UEAxM3Qi1U
        cnVzdCBPcGVyYXRpb25hbCBDQSAtIFVuaXZlcnNhbCBFbGVjdHJvbmljIFNpZ25hdHVyZTEh
        MB8GA1UECRMYNDEsIFR6YXIgQm9yaXMgSUlJIGJsdmQuMQ0wCwYDVQQREwQxNjEyMR4wHAYJ
        KoZIhvcNAQkBFg9jYTNAYi10cnVzdC5vcmcxGTAXBgNVBBQTECszNTkgMiA5IDIxNSAxMDAw
        HhcNMDgwMjA3MTAxODMwWhcNMDkwMjA2MTAxODMwWjCCAcIxCzAJBgNVBAYTAkJHMUAwPgYD
        VQQIEzdidWwuIFNoaXBjaGVuc2tpIHByb2hvZCA2MyxTb2ZpYSxQSzoxNTc0LEVHTjo3NTA5
        MTk2NDY3MQ4wDAYDVQQHEwVTb2ZpYTElMCMGA1UEChMcVGVsZWtvbSBQYXJ0bmFycyBOZXR1
        YXJrIEVBRDEnMCUGA1UECxMeUHJvZmVzc2lvbmFsIENlcnRpZmljYXRlIC0gVUVTMR4wHAYD
        VQQLExVTUjpTR1MgZi5kLiAyMzk2LTIwMDIxGjAYBgNVBAsTEUJVTFNUQVQ6MTMxNDMxOTY0
        MSQwIgYDVQQDExtCb3Jpc2xhdiBWYWxlbnRpbm92IER1cmNoZXYxMjAwBgNVBAwTKWJpbGlu
        ZyBpIGtvbnRvbDpUcnVkb3YgZG9nb3ZvciAxNy4wOS4yMDAzMSkwJwYDVQQJEyBidWwuIFNo
        aXBjaGVuc2tpIHByb2hvZCA2MyxTb2ZpYTENMAsGA1UEERMEMTU3NDEsMCoGCSqGSIb3DQEJ
        ARYdYm9yaXNsYXYuZHVyY2hldkBpbnRlcm91dGUuYmcxEzARBgNVBBQTCjAyIDQ5MTA4NTIw
        gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAIbn8rBykmZXue/sGHXNyyarUIvkphLLWiqG
        9AP2sHnoJAF5EsKrGeQZj3F503430PUtXDUa5e++bvC/sRn8m47xO550r63sIwoQHYDgCW5Y
        kxsK40ktz1byTySeWdmjk3eRXn+BZUSh21jyEC9gYsKHGCqIlM3HO3EMYCH/c7XLAgMBAAGj
        ggI4MIICNDAdBgNVHQ4EFgQUOX9Pq6oeDTwhCiGrDq7cmIoRZ+cwgbEGA1UdIwSBqTCBpoAU
        nv+tacFWDGZiagfwBYh+deyW/nihgYqkgYcwgYQxCzAJBgNVBAYTAkJHMQ4wDAYDVQQHEwVT
        b2ZpYTEYMBYGA1UEChMPQmFua3NlcnZpY2UgUExDMRAwDgYDVQQLEwdCLVRydXN0MTkwNwYD
        VQQDEzBCLVRydXN0IFJvb3QgQ0EgLSBVbml2ZXJzYWwgRWxlY3Ryb25pYyBTaWduYXR1cmWC
        AQIwJQYDVR0SBB4wHIYaaHR0cDovL3d3dy5iLXRydXN0Lm9yZy9jYTMwCQYDVR0TBAIwADBQ
        BgNVHSAESTBHMEUGCysGAQQB+3YBAwEBMDYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cuYi10
        cnVzdC5vcmcvZG9jdW1lbnRzL2NhMy9jcHMwDgYDVR0PAQH/BAQDAgP4MEUGA1UdJQQ+MDwG
        CCsGAQUFBwMCBggrBgEFBQcDBAYIKwYBBQUHAwUGCCsGAQUFBwMGBggrBgEFBQcDBwYIKwYB
        BQUIAgIwTwYDVR0fBEgwRjBEoEKgQIY+aHR0cDovL3d3dy5iLXRydXN0Lm9yZy9yZXBvc2l0
        b3J5L2NhMy9jcmwvYi10cnVzdF9jYTNfb3Blci5jcmwwMwYIKwYBBQUHAQEEJzAlMCMGCCsG
        AQUFBzABhhdodHRwOi8vb2NzcC5iLXRydXN0Lm9yZzANBgkqhkiG9w0BAQUFAAOCAQEAPSae
        bYyuHVwnqGnEF2ymh7D1p/Wkw4yVffJ0uyu9WCNTMecUpUnjatnezRmi/Ro83cAelSw6tK8I
        IpNhoNFtuppZI5yIdFXrpT6lnErS8JqaXKbQzuDyF2olCg71gf+c8KHNTKp9kltf+mCZn1wi
        hAqy2HOJ28+IcqWssPQR2fJuHVbVSB1EnhlR+cnJqMiqr42tLojvcMLXvgtTrjWpeXzA17k2
        md+zVj9WPK0skJ1LBMU4qQimOFGUOQNH8fAJicNM3iVD1oMVXJGe+vs2h/PKytZfPssT1AVg
        fA8aZ/EdX0RTbxS3Gd/r9cLWAH9HMQg30tSaoK3KFGYJX/ZuWg==
     
</X509Certificate>
    </
X509Data>
  </
ds:KeyInfo>
</
ds:Signature>

Доколкото схващам, методът Display() от този CAPICOM.DLL върши работата при тях.

//ДОБАВЕНО
Ще ти пратя xslt-файла и на пощата, защото форума не показва едни от символите в него...


 
Това мнение е редактирано от Bibi на 03.09.2008 13:44
---------------------------
Потребител от: 15.01.06 | Всички уроци от Bibi | Всички скриптове от Bibi
напиши eMail напиши лично съобщение виж профила на Bibi
Публикувано на: 03.09.2008 13:58
hhk1
Чирак

Мнения: (3)

Благодаря, Bibi, сега започвам да се боря с тоя цифров подпис. Ще те уведомя за резултата.

//Добавено:
Това взе, че сработи. Но ще трябва още да го разровя, за да вида какви са му възможностите.
А иначе CAPICOM.DLL може да бъде изтеглен от сайта ма MicroSoft:
http://www.microsoft.com/downloads/details.aspx?FamilyId=860EE43A-A843-462F-ABB5-FF88EA5896F6&displaylang=en


 
Това мнение е редактирано от hhk1 на 04.09.2008 11:26
---------------------------
Потребител от: 02.09.08 | Всички уроци от hhk1 | Всички скриптове от hhk1
напиши eMail напиши лично съобщение виж профила на hhk1
 1 посетител чете тази тема (0 потребители и 1 гост)  
Активни потребители: ---
   





IT-PLACE.NET © 2004 - 2008