473,396 Members | 2,011 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Signing a Database Application

I have several database applications developed in Access 2000. Some of my
users have upgraded to Access 2003, and they get a warning every time they
open the application: "This file may not be safe if it contains code that
was intended to harm your computer."

I understand that there are two ways to avoid this message. One is to set
the security level on Access to low. The other is to sign the database with
a digital certificate, and ask the users to trust that certificate. I would
like to pursue the latter option.

My question is: How do I create a certificate and how do I sign the database
with it? I assume I will need some tool which is not included with Office
2000. What do I need?
-Todd Matson
Nov 13 '05 #1
11 5093
Todd Matson wrote:
I have several database applications developed in Access 2000. Some
of my users have upgraded to Access 2003, and they get a warning
every time they open the application: "This file may not be safe if
it contains code that was intended to harm your computer." My question is: How do I create a certificate and how do I sign the
database with it? I assume I will need some tool which is not
included with Office 2000. What do I need?


A shitload of money. And then you contact a certificate issuing company.
They will investigate your application, and give you a price estimate for
the certificate. And you need a separate certificate for each of your
applications.

In short: Don't go there girlfriend.

/jim
Nov 13 '05 #2
On Thu, 21 Apr 2005 13:33:00 +0200, "Jim Andersen"
<jimVÆÆK@officeconsult.dk> wrote:

That is not my experience. Review articles such as
http://msdn.microsoft.com/library/de...tml/sa04d1.asp
to get the skinny on digital signing.
A certificate authority (CA) will indeed have to investigate your
application (not your software application; but the paperwork you
submit to them) to ensure you are who you say you are. They are in the
trust business, so this is understandable.
After that, the certificate is a commodity: give them US$200/year and
it is yours. This certificate can be used to sign ALL your
applications.

In short: You go, girl!

-Tom.

Todd Matson wrote:
I have several database applications developed in Access 2000. Some
of my users have upgraded to Access 2003, and they get a warning
every time they open the application: "This file may not be safe if
it contains code that was intended to harm your computer."

My question is: How do I create a certificate and how do I sign the
database with it? I assume I will need some tool which is not
included with Office 2000. What do I need?


A shitload of money. And then you contact a certificate issuing company.
They will investigate your application, and give you a price estimate for
the certificate. And you need a separate certificate for each of your
applications.

In short: Don't go there girlfriend.

/jim


Nov 13 '05 #3
You can also use an untrusted signature. There is a program you can download
from Microsoft called something like selfsign.exe that will let you generate a
random signature. With this technique, users will have to approve the
signature once for the first app/version you send them, and from then on, they
won't get a security warning when they open your applications.

On Thu, 21 Apr 2005 07:28:50 -0700, Tom van Stiphout <no*************@cox.net>
wrote:
On Thu, 21 Apr 2005 13:33:00 +0200, "Jim Andersen"
<jimVÆÆK@officeconsult.dk> wrote:

That is not my experience. Review articles such as
http://msdn.microsoft.com/library/de...tml/sa04d1.asp
to get the skinny on digital signing.
A certificate authority (CA) will indeed have to investigate your
application (not your software application; but the paperwork you
submit to them) to ensure you are who you say you are. They are in the
trust business, so this is understandable.
After that, the certificate is a commodity: give them US$200/year and
it is yours. This certificate can be used to sign ALL your
applications.

In short: You go, girl!

-Tom.

Todd Matson wrote:
I have several database applications developed in Access 2000. Some
of my users have upgraded to Access 2003, and they get a warning
every time they open the application: "This file may not be safe if
it contains code that was intended to harm your computer."

My question is: How do I create a certificate and how do I sign the
database with it? I assume I will need some tool which is not
included with Office 2000. What do I need?


A shitload of money. And then you contact a certificate issuing company.
They will investigate your application, and give you a price estimate for
the certificate. And you need a separate certificate for each of your
applications.

In short: Don't go there girlfriend.

/jim


Nov 13 '05 #4
I apologize for being unclear, but an untrusted signature is what I was
asking about.

Thank you for pointing me to selfsign.exe. I ran it and generated a
certificate, but it still leaves me with a lot of questions. I had
understood that certificates have lifetimes, yet that utility gave me no
control over the lifetime of the certificate. Why is that? Also, now that
the certificate is created, how is it represented on my computer? Is there a
file somewhere? How can I manage it?

Also, I still do not know how to sign my database with the certificate. I
believe that Access 2003 has a menu command for that purpose (Tools /
Digital Signature), but I am using Access 2000. I have no desire to buy
Access 2003 just to sign a few databases -- is there some other utility I
can obtain which will do the trick?

Finally, can anyone tell me what a certificate is, exactly? According to the
Microsoft page referenced by Tom, a certificate is a private key / public
key pair. I asked Verisign the same question, and they claim that a
certificate is a public key signed by a certification authority's private
key. Which is it?
-Todd Matson
"Steve Jorgensen" <no****@nospam.nospam> wrote in message
news:hg********************************@4ax.com...
You can also use an untrusted signature. There is a program you can download from Microsoft called something like selfsign.exe that will let you generate a random signature. With this technique, users will have to approve the
signature once for the first app/version you send them, and from then on, they won't get a security warning when they open your applications.

On Thu, 21 Apr 2005 07:28:50 -0700, Tom van Stiphout <no*************@cox.net> wrote:
On Thu, 21 Apr 2005 13:33:00 +0200, "Jim Andersen"
<jimVÆÆK@officeconsult.dk> wrote:

That is not my experience. Review articles such as


http://msdn.microsoft.com/library/de...-us/dnsmart04/

html/sa04d1.asp
to get the skinny on digital signing.
A certificate authority (CA) will indeed have to investigate your
application (not your software application; but the paperwork you
submit to them) to ensure you are who you say you are. They are in the
trust business, so this is understandable.
After that, the certificate is a commodity: give them US$200/year and
it is yours. This certificate can be used to sign ALL your
applications.

In short: You go, girl!

-Tom.

Nov 13 '05 #5
Bri
Todd,

On my install of Office 2003, there is an item in the Start-Programs-MS
Office-MS Office Tools called 'Digital Certificate for VBA Projects'.
This will allow you to create a self-signed certificate. This needs to
be created on the PC that will run the app. If you use the Access 2003
Help and search for the word Certificate, the first item is on how to
create your own certificate. There is another topic called 'Add a
digital signature to macro project' that explains how to use it.

It really is only to protect from malicious code in Macros not VBA.

This is a bit of a hack but MS has forced us into it.

--
Bri

Todd Matson wrote:
I have several database applications developed in Access 2000. Some of my
users have upgraded to Access 2003, and they get a warning every time they
open the application: "This file may not be safe if it contains code that
was intended to harm your computer."

I understand that there are two ways to avoid this message. One is to set
the security level on Access to low. The other is to sign the database with
a digital certificate, and ask the users to trust that certificate. I would
like to pursue the latter option.

My question is: How do I create a certificate and how do I sign the database
with it? I assume I will need some tool which is not included with Office
2000. What do I need?
-Todd Matson


Nov 13 '05 #6
Steve Jorgensen wrote:
You can also use an untrusted signature. There is a program you can download
from Microsoft called something like selfsign.exe that will let you generate a
random signature. With this technique, users will have to approve the
signature once for the first app/version you send them, and from then on, they
won't get a security warning when they open your applications.


My understanding is a selfsign.exe generated cert only works on the PC
that the cert was generated - so that wouldn't work for a distributed app.

One possible work around is to run a VB program that you write to open
Access via automation. You could then set the security level to low via
Automation code and then execute your app. The user won't see the
warning then and since you wrote the VB app it only works for your app.

However, it would still be your responsibility to make the client
understand what you are doing since you are messing with THEIR security
settings.

If you are really serious about distributing your app then get the
certificate.
--
'---------------
'John Mishefske
'---------------
Nov 13 '05 #7
On Thu, 21 Apr 2005 22:24:18 -0500, John Mishefske
<mi************@JUNKtds.net> wrote:
Steve Jorgensen wrote:
You can also use an untrusted signature. There is a program you can download
from Microsoft called something like selfsign.exe that will let you generate a
random signature. With this technique, users will have to approve the
signature once for the first app/version you send them, and from then on, they
won't get a security warning when they open your applications.


My understanding is a selfsign.exe generated cert only works on the PC
that the cert was generated - so that wouldn't work for a distributed app.

One possible work around is to run a VB program that you write to open
Access via automation. You could then set the security level to low via
Automation code and then execute your app. The user won't see the
warning then and since you wrote the VB app it only works for your app.

However, it would still be your responsibility to make the client
understand what you are doing since you are messing with THEIR security
settings.

If you are really serious about distributing your app then get the
certificate.


I thought I had read that the user could accept the signature once, and their
computer would continue to recognize it. I'll have to check that when I get a
chance.
Nov 13 '05 #8
TC
John,

I don't see why a certification would work on only the PC where it was
generated. Are there different classes of certifications, some which
are portable and some which are not?

I must say, I like your idea of lowering the security setting with a VB
program before launching the application. I already use a VB program to
launch the app, so this could be a simple change. I'll let you know how
it goes.
-TC

Nov 13 '05 #9
On 22 Apr 2005 08:15:43 -0700, "TC" <go*********@yahoo.com> wrote:
John,

I don't see why a certification would work on only the PC where it was
generated. Are there different classes of certifications, some which
are portable and some which are not?

I must say, I like your idea of lowering the security setting with a VB
program before launching the application. I already use a VB program to
launch the app, so this could be a simple change. I'll let you know how
it goes.
-TC


By the way, if you use the Sagekey scripts for the Wise installer, it
configures the registry profile so that the Access runtime runs in low
security when running the installed application. There aren't many problems
with Access application deployment that Sagekey doesn't solve.
Nov 13 '05 #10
TC wrote:
John,

I don't see why a certification would work on only the PC where it was
generated. Are there different classes of certifications, some which
are portable and some which are not?

I must say, I like your idea of lowering the security setting with a VB
program before launching the application. I already use a VB program to
launch the app, so this could be a simple change. I'll let you know how
it goes.
-TC


I'm no expert on certs but if you can generate a cert on your PC so can
mr. hackerScriptKiddie. Who's would be more trusted and based on what?

Verisign and Thawte have a whole business model based on "Trust" (at
least trust that you pay for!).

Here's some good links:

http://msdn.microsoft.com/library/de...tml/sa04d1.asp
http://support.microsoft.com/default...b;en-us;217221

--
'---------------
'John Mishefske
'---------------
Nov 13 '05 #11
TC
Can anyone tell me how to sign an Access 2000 application with a
digital certificate? In Word 2000 and Excel 2000, the VB editor has a
menu command Tools / Digital Signature which can be used to sign a
project, but that command doesn't exist in Access.

-TC

Nov 13 '05 #12

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: Rasjid Wilcox | last post by:
I am wanting to write a database application using Python. I want it to be GUI agnostic. The GUI will probably be Python/wxPython, but I would also like the option of a Webbased (PHP?) gui, and...
1
by: Fuzzyman | last post by:
A project I'm involved with needs to keep a database of information - for an information desk. This would be a list of outside agencies, with contact details etc, and cross referenced by 'subject'....
1
by: CrystalDBA | last post by:
I have been building ASP, ASP.NET and Crystal Reports on SQL server for a few years now. I have build them mostly on an Intranet or with companies that have their own web servers. I now need...
2
by: kat0 | last post by:
Hi. I Have to do a muliple database application (think in a simple form that add, remove, and modify some table/s). But The problem is that the Database destination depends, can be per example SQL...
2
by: Karl | last post by:
In the book, I read that we can call a C# exe from Internet Explorer. I tried with a small program. It worked. But when I tried with a database program, which works when I call it directly. It...
2
by: Rick Shaw | last post by:
Hi. I am just getting started with C# and I need a lot of help. Can anyone here show me a sample database application written in C#? I figure that I learn better looking at actual codes and...
2
by: akoutoulakis | last post by:
I would like to make a database application with sqlserever or access. I search for an application sample (source code) with data forms,reports,search forms etc. Do you know any sample like this...
6
by: RAM | last post by:
Hello, (Sorry for my English...) I am learning .NET 2.0 (C#, ASP.NET, ADO.NET etc.). I need to write a database application (SQL Server) consisting of a number of database transactions (like...
1
by: abhijitbkulkarni | last post by:
Hello, I am designing a .NET database application that uses 3 tier architecture. Starting initially, this application will be desktop application but I will convert it into a website later but...
6
rizwan6feb
by: rizwan6feb | last post by:
I have to develop a database application in vb.net 2005 with the following rules 1. The application connects with an online mysql database (i.e database resides on a remote machine) 2. The...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.