This is the error:
error: 0x80880253
The signer's certificate is not valid for signing.
SignTool Error: An error occurred while attempting to sign: bin\Debug\app.publish\\setup.exe
A very good work but not work with me: http://www.may.be/renewcert/
A very good comment that brings me to the road and solve the problem:
http://social.msdn.microsoft.com/Forums/en/winformssetup/thread/cebc2dff-1418-4be4-b3f7-9e158ed6b573
This the magic comment:
Are you signing your ClickOnce deployment? If you go to the Signing tab for your project, do you have a certificate selected?
If you are just pushing updates for the same application, you will want to track down the certificate file (pfx) you used to use and sign with it instead of creating a new one, so the deployment does not think you created a new certificate.
If you are just deploying something new, you can create a test certificate and use that.
RobinS.
GoldMail.com
Tuesday, 9 March 2010
Sunday, 7 March 2010
Identify yourself with Certificates
What is PFX file?
This file type is an acronym of "Personal Information Exchange" that can be opened with "Microsoft Certificate Manager or Certificate Import Wizard".
This file is an Encrypted security file that stores SSL secure certificates used to authenticate a person or device, such as a computer or Web server; requires a password to be opened; can be installed by right-clicking the file and selecting "Install PFX."
More than one certificate can be stored in a single file in the following formats:
PFX,P12: Personal Information Exchange
P7B: Cryptographic Message Syntax Standard-PKCS#7 Certificate
SST: Microsoft Serialized Certificate Store
What SSL Is and Why You Need It?
Doing business online without SSL is like leaving customer credit card numbers on the counter or offering a dressing room without a door
An SSL certificate is a bit of code on your web server that provides security for online communications. When a web browser contacts your secured web site, the SSL certificate enables an encrypted connection. It’s kind of like sealing a letter in an envelope before sending it through the mail.
SSL certificates also inspire trust because each SSL certificate contains identification information. When you request an SSL certificate, a third party (such as Thawte or VeriSign) verifies your organization’s information and issues a unique certificate to you with that information. This is known as the authentication process.
An SSL certificate, or secure certificate, is a file installed on a secure Web server that identifies a website. This digital certificate establishes the identity and authenticity of the company or merchant so that online shoppers can trust that the website is secure and reliable. In order to verify that these sites are legitimate (they are who they say they are), the companies and their websites are verified by a third party, such as Verisign or Thawte.
Once the verification company establishes the legitimacy of an organization and the associated website, they will issue an SSL certificate (for the small fee of a few hundred dollars). This digital certificate is installed on the Web server and will be viewable when a user enters a secure area of the website. You can tell you are visiting a secure page when the URL starts with "https." To view the certificate, click the lock icon near one of the edges of your browser window.
Because digital certificates verify a company's current status, they do not last forever. SSL certificates typically expire every one to three years. If the certificate is not renewed in time, you may see an alert box pop up that says "This website's certificate has expired." This error has nothing to do with you or your computer, but is displayed because the Web server you connected to has not renewed its SSL certificate. While this does not necessarily mean the site is fraudulent, it does show that the site is less than professional.
What Happens between the Web Browser and Server?
1.A browser attempts to connect to a web site secured with SSL. The browser requests that the web server identify itself.
2.The server sends the browser a copy of its SSL certificate.
3.The browser checks whether it trusts the SSL certificate. If so, it sends a message to the server.
4.The server sends back a digitally signed acknowledgement to start an SSL encrypted session.
5.Encrypted data is shared between the browser and the server.
Continue reading ...
http://www.thawte.com/resources/ssl-information-center/get-started-with-ssl/index.html
http://www.thawte.com/resources/ssl-information-center/get-started-with-ssl/how-ssl-works/index.html
List of comercial certificate authorities
http://msdn.microsoft.com/en-us/library/ms995347.aspx
AOL (http://www.aol.com)
A-Trust (http://www.a-trust.at)
Arge Daten (http://www.signatur.rtr.at/de/providers/providers/argedaten.html)
AS Sertifitseerimiskeskuse (http://www.sk.ee)
Asociacion Nacional del Notariado Mexicano (http://www.notariadomexicano.org.mx)
Austria Telekom-Control Commission (http://www.signatur.rtr.at)
Autoridade Certificadora Raiz Brasileira (http://www.icpbrasil.gov.br)
Autoridad de Certificacion Firmaprofesional
Baltimore (http://www.baltimore.com)
Belgacom E-Trust (http://www.e-trust.be)
CC Signet (http://www.signet.pl)
CAMERFIRMA (http://www.camerfirma.com)
Certic?mara S.A. (http://www.certicamara.com/)
Certisign (http://www.certisign.com.br/)
CertPlus (http://www.certplus.com)
Colegio de Registradores
Comodo Group (http://www.comodogroup.com/)
ComSign (http://www.ComSign.co.il)
Correo
Deutsche Telekom (http://www.telekom.de)
DST (http://www.digsigtrust.com/)
Entrust (http://www.entrust.com/certificate_services/index.htm)
eSign (http://www.esign.com.au/)
EUnet International (http://www.eunet.fi/)
FESTE (http://www.feste.org/)
First Data Digital Certificates (http://www.firstdata.com/index.jsp)
FNMT (http://www.ceres.fnmt.es/)
Gatekeeper Root CA (http://www.agimo.gov.au/infrastructure/gatekeeper)
GeoTrust (http://www.geotrust.com)
GlobalSign (http://www.globalsign.com/)
GoDaddy (http://www.godaddy.com)
Hongkong Post (http://www.hongkongpost.gov.hk/product/cps/ecert/index.html))
IPS SERVIDORES (http://www.ips.es/)
KMD (http://www.kmd-ca.dk)
NetLock (http://www.netlock.hu/)
Post.Trust (http://www.post.trust.ie/)
PTT Post (http://www.ptt-post.nl)
Quovadis (http://www.quovadis.bm/)
RSA (http://www.rsasecurity.com/)
Saunalahden Serveri (http://www.saunalahti.fi/)
SECOM Trust.net (http://www.secomtrust.net)
SecureNet (http://www.securenetasia.com/)
SecureSign (http://www2.jcsinc.co.jp)
Serasa (http://www.serasa.com/)
SIA (https://ca.sia.it/)
Sonera (http://www.sonera.com/)
Spanish Property & Commerce Registry (https://www.registradores.org))
TC TrustCenter (http://www.trustcenter.de/)
TDC (http://www.tdc.dk)
Thawte (http://www.thawte.com/)
Trustis Limited (http://www.trustis.com)
TW Government Root Certification Authority
Unizeto Certum (http://www.certum.pl)
UserTRUST (http://www.usertrust.com/)
ValiCert (http://www.valicert.com/)
Verisign (http://www.verisign.com/)
Visa
Wells Fargo Root Certificate Authority (http://www.wellsfargo.com/certpolicy)
XRamp (http://www.xramp.com)
This file type is an acronym of "Personal Information Exchange" that can be opened with "Microsoft Certificate Manager or Certificate Import Wizard".
This file is an Encrypted security file that stores SSL secure certificates used to authenticate a person or device, such as a computer or Web server; requires a password to be opened; can be installed by right-clicking the file and selecting "Install PFX."
More than one certificate can be stored in a single file in the following formats:
PFX,P12: Personal Information Exchange
P7B: Cryptographic Message Syntax Standard-PKCS#7 Certificate
SST: Microsoft Serialized Certificate Store
What SSL Is and Why You Need It?
Doing business online without SSL is like leaving customer credit card numbers on the counter or offering a dressing room without a door
An SSL certificate is a bit of code on your web server that provides security for online communications. When a web browser contacts your secured web site, the SSL certificate enables an encrypted connection. It’s kind of like sealing a letter in an envelope before sending it through the mail.
SSL certificates also inspire trust because each SSL certificate contains identification information. When you request an SSL certificate, a third party (such as Thawte or VeriSign) verifies your organization’s information and issues a unique certificate to you with that information. This is known as the authentication process.
An SSL certificate, or secure certificate, is a file installed on a secure Web server that identifies a website. This digital certificate establishes the identity and authenticity of the company or merchant so that online shoppers can trust that the website is secure and reliable. In order to verify that these sites are legitimate (they are who they say they are), the companies and their websites are verified by a third party, such as Verisign or Thawte.
Once the verification company establishes the legitimacy of an organization and the associated website, they will issue an SSL certificate (for the small fee of a few hundred dollars). This digital certificate is installed on the Web server and will be viewable when a user enters a secure area of the website. You can tell you are visiting a secure page when the URL starts with "https." To view the certificate, click the lock icon near one of the edges of your browser window.
Because digital certificates verify a company's current status, they do not last forever. SSL certificates typically expire every one to three years. If the certificate is not renewed in time, you may see an alert box pop up that says "This website's certificate has expired." This error has nothing to do with you or your computer, but is displayed because the Web server you connected to has not renewed its SSL certificate. While this does not necessarily mean the site is fraudulent, it does show that the site is less than professional.
What Happens between the Web Browser and Server?
1.A browser attempts to connect to a web site secured with SSL. The browser requests that the web server identify itself.
2.The server sends the browser a copy of its SSL certificate.
3.The browser checks whether it trusts the SSL certificate. If so, it sends a message to the server.
4.The server sends back a digitally signed acknowledgement to start an SSL encrypted session.
5.Encrypted data is shared between the browser and the server.
Continue reading ...
http://www.thawte.com/resources/ssl-information-center/get-started-with-ssl/index.html
http://www.thawte.com/resources/ssl-information-center/get-started-with-ssl/how-ssl-works/index.html
List of comercial certificate authorities
http://msdn.microsoft.com/en-us/library/ms995347.aspx
AOL (http://www.aol.com)
A-Trust (http://www.a-trust.at)
Arge Daten (http://www.signatur.rtr.at/de/providers/providers/argedaten.html)
AS Sertifitseerimiskeskuse (http://www.sk.ee)
Asociacion Nacional del Notariado Mexicano (http://www.notariadomexicano.org.mx)
Austria Telekom-Control Commission (http://www.signatur.rtr.at)
Autoridade Certificadora Raiz Brasileira (http://www.icpbrasil.gov.br)
Autoridad de Certificacion Firmaprofesional
Baltimore (http://www.baltimore.com)
Belgacom E-Trust (http://www.e-trust.be)
CC Signet (http://www.signet.pl)
CAMERFIRMA (http://www.camerfirma.com)
Certic?mara S.A. (http://www.certicamara.com/)
Certisign (http://www.certisign.com.br/)
CertPlus (http://www.certplus.com)
Colegio de Registradores
Comodo Group (http://www.comodogroup.com/)
ComSign (http://www.ComSign.co.il)
Correo
Deutsche Telekom (http://www.telekom.de)
DST (http://www.digsigtrust.com/)
Entrust (http://www.entrust.com/certificate_services/index.htm)
eSign (http://www.esign.com.au/)
EUnet International (http://www.eunet.fi/)
FESTE (http://www.feste.org/)
First Data Digital Certificates (http://www.firstdata.com/index.jsp)
FNMT (http://www.ceres.fnmt.es/)
Gatekeeper Root CA (http://www.agimo.gov.au/infrastructure/gatekeeper)
GeoTrust (http://www.geotrust.com)
GlobalSign (http://www.globalsign.com/)
GoDaddy (http://www.godaddy.com)
Hongkong Post (http://www.hongkongpost.gov.hk/product/cps/ecert/index.html))
IPS SERVIDORES (http://www.ips.es/)
KMD (http://www.kmd-ca.dk)
NetLock (http://www.netlock.hu/)
Post.Trust (http://www.post.trust.ie/)
PTT Post (http://www.ptt-post.nl)
Quovadis (http://www.quovadis.bm/)
RSA (http://www.rsasecurity.com/)
Saunalahden Serveri (http://www.saunalahti.fi/)
SECOM Trust.net (http://www.secomtrust.net)
SecureNet (http://www.securenetasia.com/)
SecureSign (http://www2.jcsinc.co.jp)
Serasa (http://www.serasa.com/)
SIA (https://ca.sia.it/)
Sonera (http://www.sonera.com/)
Spanish Property & Commerce Registry (https://www.registradores.org))
TC TrustCenter (http://www.trustcenter.de/)
TDC (http://www.tdc.dk)
Thawte (http://www.thawte.com/)
Trustis Limited (http://www.trustis.com)
TW Government Root Certification Authority
Unizeto Certum (http://www.certum.pl)
UserTRUST (http://www.usertrust.com/)
ValiCert (http://www.valicert.com/)
Verisign (http://www.verisign.com/)
Visa
Wells Fargo Root Certificate Authority (http://www.wellsfargo.com/certpolicy)
XRamp (http://www.xramp.com)
Thursday, 4 March 2010
Some Internet culture around Flash
Adob, Learn Flash Professional CS4:
Learn how to use Flash Professional CS4 with tutorials selected by experts at Adobe.There's everything from Getting Started for beginners, to New Features, Workflows, and Overviews.
http://tv.adobe.com/show/learn-flash-professional-cs4/
PixlToLife: learning made simple
Contians free flash tutorials: http://www.pixel2life.com/tutorials/adobe_flash/
Also, includes these good tutorials:
1- Making a Photoshoot Effect With jQuery & CSS: http://www.pixel2life.com/viewtutorial/76739/making_a_photoshoot_effect_with_jquery_css/
Which depends on the following tutorial:
jQuery PhotoShoot Plugin 1.0: http://tutorialzine.com/2010/02/jquery-photoshoot-plugin/
Where the author uses images from Flicker.
Flicker: is huge store of shared images, http://www.flickr.com/
2- Creating Ripples in the Medici Fountain: http://www.pixel2life.com/viewtutorial/76115/creating_ripples_in_the_medici_fountain/
Monday, 1 March 2010
Simplified jQuery Poll-down menu, only an anchor and a div elements
This code is adopted from another original article:
It is a simple poll down menu construct from <a> alement and <div> element, just like that:
1.<a id="anchor" onclick="return false;" href="">Menu title</a>
2.<div id="div" style="display:none;position:absolute; z-index:1000;">
3. <a href="">element1 title</a>
4. <a href="">element2 title</a>
5.</div>

function MakeADIVMenu(anchor,div) { var timeoutID = -1;
$('a#' + anchor)
.hover(
function() {
clearTimeout(timeoutID);
$('#' + div).css('position', 'absolute');
$('#' + div).css('top', $('a#' + anchor).position().top);
$('#' + div).css('left', $('a#' + anchor).position().left - ($('#' + div).width()/2));
$('#' + div).css({zIndex:20}).show();
},
function() { timeoutID = setTimeout(function() { $('#' + div).hide(); }, 2000); }
);
$('#' + div)
.hover(
function() {
clearTimeout(timeoutID);
$(this)
.each(function() {
$(this).css('position', 'absolute');
$(this).css('top', $('a#' + anchor).position().top);
$(this).css('left', $('a#' + anchor).position().left - ($(this).width()/2));
$(this).css({ zIndex: 20 }).show();});
},
function() { $(this).hide(); }
);
//1.<a id="anchor" onclick="return false;" href="">
//2.<div id="div" style="display:none">
//3. <a href="">element1</a>
//4. <a href="">element2</a>
//5.</div>
}
It is a simple poll down menu construct from <a> alement and <div> element, just like that:
1.<a id="anchor" onclick="return false;" href="">Menu title</a>
2.<div id="div" style="display:none;position:absolute; z-index:1000;">
3. <a href="">element1 title</a>
4. <a href="">element2 title</a>
5.</div>

function MakeADIVMenu(anchor,div) { var timeoutID = -1;
$('a#' + anchor)
.hover(
function() {
clearTimeout(timeoutID);
$('#' + div).css('position', 'absolute');
$('#' + div).css('top', $('a#' + anchor).position().top);
$('#' + div).css('left', $('a#' + anchor).position().left - ($('#' + div).width()/2));
$('#' + div).css({zIndex:20}).show();
},
function() { timeoutID = setTimeout(function() { $('#' + div).hide(); }, 2000); }
);
$('#' + div)
.hover(
function() {
clearTimeout(timeoutID);
$(this)
.each(function() {
$(this).css('position', 'absolute');
$(this).css('top', $('a#' + anchor).position().top);
$(this).css('left', $('a#' + anchor).position().left - ($(this).width()/2));
$(this).css({ zIndex: 20 }).show();});
},
function() { $(this).hide(); }
);
//1.<a id="anchor" onclick="return false;" href="">
//2.<div id="div" style="display:none">
//3. <a href="">element1</a>
//4. <a href="">element2</a>
//5.</div>
}
Wednesday, 24 February 2010
IE8 compatibility
IE8 doesn't support many standard rules of W3C-CSS3. One of them is "background-origin" attribute, this attribute is used to define the origin of background-image, where it takes one value of (border, padding or content).
• IE up to version 7 defaults to background-origin: border;
• IE 8 default behavior is background-origin: padding;
But IE8 behaves like IE7 untill you tell him to behave like himself "IE8", that by adding the following meta tag to your HTML layout:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
IE8, before adding meta tag
IE8, after adding meta tag to behave like IE8
The following selectors and attributes are not supported also in IE: and there are still more!!!
:root { sRules }
:nth-child() { sRules }
:nth-last-child() { sRules }
:nth-of-type() { sRules }
:nth-last-of-type() { sRules }
:last-child { sRules }:first-of-type { sRules }
:last-of-type { sRules }
:only-child { sRules }
:only-of-type { sRules }
:empty { sRules }
:target { sRules }
:not(X) { sRules }
:enabled { sRules }
:disabled { sRules }
:checked { sRules }:indeterminate { sRules }
:default { sRules }
:valid { sRules }:invalid { sRules }
:in-range { sRules }
:out-of-range { sRules }:required { sRules }
:optional { sRules }
:read-only { sRules }
:read-write { sRules }
::after { sRules }
::first-letter { sRules }
::first-line { sRules }
::selection { sRules }
::value { sRules }
::choices { sRules }
::repeat-item { sRules }
::repeat-index { sRules }
{ color-profile : sProfile }
{ rendering-intent : sIntent }
{ background : sBackground1,sBackground2, etc. }
{ background-clip : sClip }
{ background-origin : sOrigin }
{ background-break : sBreak }
{ background-size : sSize }
{ font-effect : sEffect }
{ font-emphasize : sEmphasize }
{ font-size-adjust : sSizeAdjust }
{ font-smooth : sSmooth }
{ font-stretch : sStretch }{ hanging-punctuation : sHangingPunctuation }
{ punctuation-trim : sTrim }
{ border-image : sImage }
{ border-radius : sRadius }
{ box-shadow : sShadow }
Friday, 12 February 2010
DIVs-tree size-measure and offset-calculation recurcive-algorithm, O(n)
<div> Tree size-measure and offset-calculation recurcive-algorithm, O(n) complexity
I have a tree of <div>s and want a rendering algorithm to calculate total size and detailed offests, so, each <div> will implement the following recursive algorithm.
<div style="block">
<div style="block"><div style="inline"></div><div style="inline"></div><div style="inline"></div></div>
<div style="block"><div style="inline"></div><div style="inline"></div><div style="inline"></div></div>
<div style="block"><div style="inline"></div><div style="inline"></div><div style="inline"></div></div>
</div>
Measure Algorithm:
. I'm <div> object, that is the single input to the algorithm
. I have mySize of (X,Y) and myOffset of (x,y)
. Initilaize a runningOffset to equal myOffset
. Initialize runningInnerSize with (0,0)
. Loop through my children:
. If child flow is INLINE, then, set child offset to runningOffset
. If child flow is BLOCK, then, set child offset as follows:
. childOffset.x = myOffset.x
. childOffset.y = myOffset.y + runningInnserSize.height
. Calculate childSize by recursive call to Measure Algorithm
. childSize = Measure Algorithm
. If child flow is INLINE:
. Increment runningInnerSize.width by childSize.width
. Keep runningInnerSize.height unchanged if it is longer than childSize.height
. else runningInnerSize.height=childSize.height
. Prepare runningOffset for next sibling "next child"
. runningOffset.x increment by childSize.width
. If child flow is BLOCK:
. Increment runningInnerSize.height by childSize.height
. Keep runningInnerSize.width unchanged if it is longer than childSize.width
. else runningInnerSize.width = childSize.width
. Prepare runningOffset for next sibling "next child"
. runningOffset.x increment by childSize.width
. Change my size to srround runningInnerSize
. Keep track of runningInnerSize for latter use
. Return my size to the caller
. End of Algorithm
I have a tree of <div>s and want a rendering algorithm to calculate total size and detailed offests, so, each <div> will implement the following recursive algorithm.
<div style="block">
<div style="block"><div style="inline"></div><div style="inline"></div><div style="inline"></div></div>
<div style="block"><div style="inline"></div><div style="inline"></div><div style="inline"></div></div>
<div style="block"><div style="inline"></div><div style="inline"></div><div style="inline"></div></div>
</div>
Measure Algorithm:
. I'm <div> object, that is the single input to the algorithm
. I have mySize of (X,Y) and myOffset of (x,y)
. Initilaize a runningOffset to equal myOffset
. Initialize runningInnerSize with (0,0)
. Loop through my children:
. If child flow is INLINE, then, set child offset to runningOffset
. If child flow is BLOCK, then, set child offset as follows:
. childOffset.x = myOffset.x
. childOffset.y = myOffset.y + runningInnserSize.height
. Calculate childSize by recursive call to Measure Algorithm
. childSize = Measure Algorithm
. If child flow is INLINE:
. Increment runningInnerSize.width by childSize.width
. Keep runningInnerSize.height unchanged if it is longer than childSize.height
. else runningInnerSize.height=childSize.height
. Prepare runningOffset for next sibling "next child"
. runningOffset.x increment by childSize.width
. If child flow is BLOCK:
. Increment runningInnerSize.height by childSize.height
. Keep runningInnerSize.width unchanged if it is longer than childSize.width
. else runningInnerSize.width = childSize.width
. Prepare runningOffset for next sibling "next child"
. runningOffset.x increment by childSize.width
. Change my size to srround runningInnerSize
. Keep track of runningInnerSize for latter use
. Return my size to the caller
. End of Algorithm
Wednesday, 10 February 2010
Lambada as Predicate method, c#3.5
{
List<string> ZoneList = new List();
.
.
.
for (int i = 0; i > 10; i++)
{
ZoneList.Add(i.ToString());
}
.
.
.
if (ZoneList.Exists(listItem => listItem != notExistedWord))
{
ZoneList.Add(notExistedWord);
}
}
delegate Boolean SearchDelegate(string listItem);
SearchDelegate exists = listItem => listItem==searchedWord
List<string>
.
.
.
for (int i = 0; i > 10; i++)
{
ZoneList.Add(i.ToString());
}
.
.
.
if (ZoneList.Exists(listItem => listItem != notExistedWord))
{
ZoneList.Add(notExistedWord);
}
}
ZoneList.Exists(Predicate<string> match) is a List method that needs predicate-method as input paramter, the Predicate-method must has a string input paramter and Boolean output parameter, the string input paramter will be used to carry one by one item of the List items for being proccessed inside predicate-method, alternativly, we can use lambada expression listItem => listItem==searchedWord, where left side of => is concidered input for the right side, this expression can be assigned to delegate just like that:
delegate Boolean SearchDelegate(string listItem);
SearchDelegate exists = listItem => listItem==searchedWord
searchedWord is a variable that must be explicitly defined before lambada is defined, searchedWord will be stored for use even if it goes out of scope, this is one rule of many lambada-variable-scope rules.
Subscribe to:
Posts (Atom)