nedcomp hosting homepage

Producten en diensten
Dedicated servers
Datacenter informatie
Partners, resellers
Helpdesk informatie
Technische docs, tools
Support homepage
ASP componenten
Praktische ASP, ASP.NET
Visual route server
Whois (domein gegevens)
Software documentatie
Whitepapers
Zoeken
Nedcomp / algemeen

Zoeken
 

Copyright © Nedcomp Hosting
Telefoon nr :   +31 184 670111
Fax nummer :   +31 184 631384
E-mailadres :   info@nedcomp.nl
 

Broncode: PGP Encryptie Script

Een script dat e-mail versleuteld met behulp van PGP en een wrapper component.

Dit script wordt u aangeboden door Nedcomp Hosting. Om correct te kunnen functioneren moet de webserver waarop het wordt uitgevoerd zijn voorzien van PGP en een PGP wrapper component.

Standaard webservers hebben deze voorzieningen niet. Onze webservers zijn hiervan echter voorzien en daarop zal dit script correct functioneren.

zie ook: meer informatie    het script downloaden

<%
Option Explicit
Function EncryptMail(sBericht, sPGPFile, sTempdir)
'---------------------------------------------------------------------------------------------
' Het e-mail bericht dat verstuurd moet worden encrypten.
' sBericht bevat de body van het e-mail bericht en sPGPFile
' het pad naar een ascii bestand met daarin de passphrase.
'---------------------------------------------------------------------------------------------
Dim objPGP, objGuid, vGuid, sFileName, sPGPKey, sContent
On Error Resume Next

    '// De passphrase inlezen. Deze komt te staan in sPGPKey.
    If Not LoadTextFile(sPGPFile, sPGPKey) Then
    
        sBericht = GetErrorMSG(PGP_READERROR, sPGPFile)
        Exit Function
    End If
    '// Object voor het maken van een GUID.
    Set objGuid = Server.CreateObject("Scriptlet.TypeLib")
    If Err <> 0 Then: Exit Function

    '// De GUID maken.
    vGuid = objGuid.Guid
    Set objGuid = Nothing

    '// Unieke filenaam voor een tijdelijke file maken.
    If Right(sTempdir, 1) <> "\" Then: sTempdir = sTempdir & "\"
    sFileName = sTempdir & vGuid

    '// Het bericht opslaan zodat we het kunnen encrypten.
    If Not SaveTextFile(sFileName, sBericht) Then

        '// De mail kon niet worden geschreven naar een tempfile.
        sBericht = GetErrorMSG(PGP_READWRITEERROR, sFilename)
    Else

        '// Encrypten gebeurd met deze pgp wrapper.
        Set objPGP = Server.CreateObject("NSDPGP")
        objPGP.EncryptFile 2, sFileName, sFileName, sPGPKey

        If Err <> 0 Then

            '// Toch nog even proberen om op te ruimen.
            objPGP.WipeFile sFileName

            '// De mail kon niet encrypted worden.
            sBericht = GetErrorMSG(PGP_ERROR, "")
        Else
 
            '// De file met het encrypte e-mailbericht inlezen.
            If LoadTextFile(sFileName, sContent) Then
    
                '// Het nieuwe bericht is nu encrypted.
                sBericht = sContent
                EncryptMail = True
            Else
    
                '// De encrypted file was niet gevonden.
                sBericht = GetErrorMSG(PGP_READERROR, sFilename)
            End If

            '// De tempbestanden opruimen.
            objPGP.WipeFile sFileName
 
        End If

        Set objPGP = Nothing
    End If
End Function
Function LoadTextFile(sFileName, sContent)
'-------------------------------------------------------------------------------------------------------------------
' De in sFileName opgegeven tekstfile inlezen en retourneren in sContent.
'-------------------------------------------------------------------------------------------------------------------
Dim objFileSystem, objTextStream, sTemp
On Error Resume Next
    Set objFileSystem = Server.CreateObject("Scripting.FileSystemObject")
    Set objTextStream = objFileSystem.OpenTextFile(sFileName, 1, 0)

    If Err = 0 Then

        sTemp = objTextStream.ReadAll
        objTextStream.Close
    End If

    Set objTextStream = Nothing
    Set objFileSystem = Nothing

    If Err.Number = 0 Then

        sContent = sTemp
        LoadTextFile = True
    End If
 
End Function
Function SaveTextFile(sFileName, sContent)
'----------------------------------------------------------------------------------------------------------------------------
' De tekst in sContent wegschrijven naar een file die is opgegeven in sFilename.
'----------------------------------------------------------------------------------------------------------------------------
Dim objFileSystem, objTextStream
On Error Resume Next
    Set objFileSystem = Server.CreateObject("Scripting.FileSystemObject")
    Set objTextStream = objFileSystem.CreateTextFile(sFileName, True, False)

    If Err > 0 Then

        Set objTextStream = Nothing
        Set objFileSystem = Nothing
        Exit Function
    End If
    objTextStream.Write sContent

    objTextStream.Close
    Set objTextStream = Nothing
    Set objFileSystem = Nothing

    If Err.Number = 0 Then: SaveTextFile = True
 
End Function
Function GetErrorMSG(MSGNumber, Para2)
'-----------------------------------------------
' Een foutmelding retourneren.
'-----------------------------------------------
Dim strMSG
    Select Case MSGNumber

        Case PGP_READERROR
    
            strMSG = "hier foutmelding 1: pgp file niet gevonden of toegang geweigerd fout."
    
        Case PGP_READWRITEERROR
    
            strMSG = "hier foutmelding 2: tempdir ongeldig of toegang daartoe geweigerd."
 
        Case PGP_ERROR
    
            strMSG = "hier foutmelding 3: pgp fout."
 
    End Select
 
    GetErrorMSG = strMSG
End Function
%>
<html><head><title>PGP Mail Encryptie</title></head><body>
 
<%
'---------------------------------------------------------------------------------
'---- Begin Hoofdprocedure -------------------------------------->
'---------------------------------------------------------------------------------
Dim sMailBody, sPassFile, sTempdir
Const PGP_READERROR = 1, PGP_READWRITEERROR = 2, PGP_ERROR = 3
    '// De tekst van het bericht dat we willen versturen.
    sMailBody = "Dit is de niet versleutelde body van het e-mail bericht"
 
    '// Directory met lees-rechten.
    sPassFile = "w:\websites\domein.nl\geheim\pgpkey.txt" 
 
    '// Directory met lees- en schrijf rechten.
    sTempdir = "w:\websites\domein.nl\data\"
    
    '// De mail encrypten. Het resultaat komt in sMailBody of deze gaat
    '// een foutmelding bestaande uit bijvoorbeeld een complete pagina bevatten.
    If EncryptMail(sMailBody, sPassFile, sTempdir) Then
 
        '// De mail kan verstuurd worden, bijvoorbeeld met CDO
        '// of ieder willekeurig mail component.
        %>
 
        <p>Succes!. Dit is het bericht dat u kunt versturen:</p>
        <p><pre><%= sMailBody %></pre></p>
 
    <% Else
 
        Response.Write sMailBody
    End If %> 
 
</body></html>

 

 
Whois
 

Algemeen
telefoon en adres

 


FAQ's
E-mail FAQ
Domeinen FAQ
Webserver FAQ