I have an old Flex application deployed in client machine. Now the certificate of the original application is expired. I purchased a new license from Godaddy and created a new AIR installer for my customers.
Now the problem is the new installer while running in Windows is giving the error below. The message below is not exact from the application but this is what it means:
The application cannot be installed due to a certificate problem. The
certificate does not match the installed application certificate, does
not support application upgrades, or is invalid. Please contact the
application author.
Now my question is, do I need to use the expired certificate and resign it and reuse it. Can't I use a new certificate. My ultimate goal is my customers should me able to install the application and that should override/update the old application.
Related
I'm using the latest .NET Core (1.1) and EF Core to build my ASP.NET website and I also use ASP.NET Identity, and I have already published my website to Azure host and everything is working as expected there(including my Windows localhost). However now I'm switching to my own Linux(Centos 7) dedicated server with Apache, and I have the site working however I get "Invalid Token" messages when trying to reset password or confirm email.
I have checked other questions like this and solution was to encode/decode url which is sent via email, however I have did that already but it's not working still.
I also tried to copy the whole database from localhost to my server in case there was something with migrations on the Linux host, however that also did not help. All migrations are applied and other things that don't use Identity context also work.
After additional searching I have found that it might be problem with different machine keys on the host and that the security stamp is not in sync, but I don't see how could that affect me because I deploy a whole new version of my app to the server, and on localhost everything works as well on Azure hosting. Also this used to be the problem with ASP.NET MVC, not Core.
How can I even debug this issue? I have not seen anyone having this problem with the new EF Core and especially not on Linux host.
I deploy the site using the latest VS 17. I have set up Apache proxy as guided on the official .NET Core website: link
Dotnet core MVC application on default saves your Authentication tokens encrypted in a cookie.
The seed/key for this encryption/decryption of the data is based on your machine key, which is different on every machine.
If you ran multiple instances of your app (load balanced) this message/error will happen when your system tries to decrypt the session cookie, created on the other machine.
On the other hand if you still have cookie information in your browser and you start hosting the website on a different host ofcouse this new host wont be able to decrypt these already existing session cookies.
I Know this because i had the same problem. You can find the source-code of session here: https://github.com/aspnet/Session/tree/dev/src/Microsoft.AspNetCore.Session
I tried this when dotnet core was not yet released and i ended up using this blog. But probably now is very outdated.
I'd advice you advice you to use an external session store instead of using the cookie as data storage. read through their documentation on how to set that up: https://learn.microsoft.com/en-us/aspnet/core/fundamentals/app-state
I control a server running IIS 8 on Windows Server 2012. I want to publish a few basic asp.net websites with the Publish option in Visual Studio 2012. There are no good/current Microsoft articles on the server configuration steps.
1) What exactly do I need to do on the server? I don't see any "web deploy" role option under the various IIS roles. I have read of some people downloading and installing "Web Deploy 3.0" from Microsoft but that file is one year old and it seems strange that I would have to download another file to use a promoted IIS file deployment option. If you are using IIS7 or IIS7.5 instead of IIS8 like me, please feel free to reply what YOU do, but let me know what version you are using.
2) Is the authentication process encrypted? For example, FTP would send passwords in plain text. FTP over SSL doesn't but setting up even a self-issued SSL cert is annoying just to get secure authentication. So what about Web Deploy? Is it safe or no?
3) Must I open port 8172 on the server's firewall? Microsoft's documentation says I "might need to".
4) On the Visual Studio side, it wants an account for authentication. Is this a Windows account on the server? Should I then right click the IIS website folder on the server and add this user there or is there some other preferred way of mapping users to websites? If so, what rights are required?
Please answer any or all of the above but please focus on the server side configuration and not the client (visual studio). Please don't suggest FTP as I am truly wanting to try Web Deploy. I am adding an IIS 7.5 tag too since some of the answers may be the same as for IIS 8.
It appears that one must still download the Web Deploy extension. Also, Version 3.5 is now available.
To download on a server, default IE security rules will require you add something like http://*.microsoft.com as a trusted site else you can't download the installer.
The whole package is rather large in its purpose and covers many deployment/backup/transfer type scenarios for IIS. So, when you install it, it turns into "Web Platform Installer 4.6" and installs roughly 10 prerequisites in addition to Web Deploy 3.5. Those prerequisites covers CLR Types, SQL Server framework (even if you don't have SQL Server installed), SQL Server shared management objects, etc. I did check afterwards if all these items are uninstallable through control panel (in case I changed my mind about web deploy) and they are there.
Finally, to configure web deploy on a site, I found this document:
http://www.iis.net/learn/publish/using-web-deploy/configure-the-web-deployment-handler
To find more information about this, google "web deployment handler".
It also does appear that you can configure secure authentication, which is the main reason I went down this Web Deploy publishing path instead of using plain clear-text FTP. However, http://www.iis.net/learn/publish/using-web-deploy/introduction-to-web-deploy says
Web Deploy is secure. Web Deploy supports transfer over HTTPS. Note that variants of FTP such as SFTP and FTPS are also secure.
I'm not sure if this means I will have to use an SSL certificate anyway. I was hoping Web Deploy provided more authentication options that were both secure and didn't need a certificate.
The answer marked correct pointed me in the right direction to publish a web site from Visual Studio 2013 to Server 2012. The Validate Connection button kept stating check Web Management service is installed.
As of April 2014 these simple steps work:
Install Web Deploy
http://www.iis.net/downloads/microsoft/web-deploy
In Powershell:
(from: https://www.orcsweb.com/blog/jamie-furr/manage-and-install-iis8-on-windows-2012-server-core/)
Install-WindowsFeature Web-Server
Install-WindowsFeature Web-Mgmt-Service
Set-ItemProperty -Path
HKLM:\SOFTWARE\Microsoft\WebManagement\Server -Name
EnableRemoteManagement -Value 1
Net Stop WMSVC
Net Start
WMSVC
netsh advfirewall firewall add rule name=”Allow Web
Management” dir=in action=allow service=”WMSVC”
In IIS:
(from
http://blog.richardszalay.com/2013/02/02/building-a-deployment-pipeline-with-msdeploy-part-4-server-configuration/)
Create a new non-admin user
Once your user is created, we need
to grant it permission to deploy the site. Right click on your
website and select “Configure for Web Deploy Publishing…” from the
“Deploy” sub menu
I have a web application (http handler) which uses SSL. I now want to create a web setup for this web application and I wonder if there is a possibility to tell the setup project that the application should use SSL. I want to do this because this handler will be used in clients machines and I just want to application to runs correctly under HTTPS after it is installed (user should not need to go to IIS and configure SSL for that website). I searched for a specific property under File System in the setup project but there is no such option. Maybe I can do this using some custom actions? Application uses certificate issued by a Trusted Root Certification Authority and it is already installed.
My question is: why does a dev site work when the project is run in Visual Studio 2010, but not when served from IIS on the same PC?
I am trying to set up a dev copy of a client's site. On startup, the site makes a connection to a remote database server. The connection uses WCF and a SSL certificate to secure it. When I installed the site on my PC, following instructions, I installed a Cert Chain into the "Trusted Root Certification Authorities" and added registry keys and host entries to resolve connections to the remote service.
When I open the solution in Visual Studio 2010 on my PC and run it in the built-in ASP.NET dev server, it works -- my workstation connects to the remote service via SSL on a custom port (444) and the dev site queries for data successfully from the service. All of this is handled by a DLL provided with the project, and is outside my scope of work. I was briefed up front that the connection was very finicky about the SSL cert, system clock time agreement between the two machines, etc. and it took me a few tries to get it to work.
However, when I run the site in my local IIS (Windows 7, IIS 7.5) the site cannot connect to the remote service; the service won't accept the SSL connection. The startup code throws an exception when this happens, preventing the site from loading further.
Everything else seems to work fine: the only wrinkle is that VS requires a 32-bit version of the secure connection DLL while IIS on Windows 7 requires a 64-bit version. Both were provided to me and I swap them as required.
Per the comment, the answer is: check that the Cert Chain (to trust the SSL certificate used by the WCF connection) is installed to Local Machine (so that IIS sees it), not just to Current User (account used by Visual Studio).
For a server farm, I would like to install the ASP.Net State Service on a non-web server to share with all the web servers. Is it possible to install the ASP.Net State Service standalone without having IIS installed on its server? If so, how?
According to this blog entry, Enabling ASP.NET Session State without Installing IIS, the answer is yes.
First, you need to make sure the ASP.NET State Service is installed on the computer. (Of course you'll need to have the .NET Framework installed on this computer.) Go to the Services section in the Administration Tools and locate the ASP.NET State Service item. If it's not there, drop to the command line, navigate to %WINDIR%\Microsoft.Net\Framework\*version*\ and enter:
aspnet_regiis -i
Finally, you'll need to allow remote connections to this server. Go to the Registry and set HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection to 1.
Happy Programming!
Please note that I have not tried these steps myself; rather, I am summarizing the discussion from the Enabling ASP.NET Session State without Installing IIS blog entry I cited at the start of this answer...