Need a signed JAR that lasts longer than a year
We need to sign JARs but we can't use the standard Thawte or Verisign root CA. Both of them expire in a year. Since my company does not own the servers on which our application is installed, we can't revisit our customer's servers just because the signed JAR files have expired.
When I look at the list of Root CAs that Web Start recognizes, I see some personal CAs and and server CAs.
thawtepersonalfreemailca (Thawte Personal Freemail CA)
thawtepersonalbasicca (Thawte Personal Basic)
thawtepersonalpremiumca (Thawte Personal Premium CA)
thawteserverca (Thawte Server CA)
cybertrust (GTE CyberTrust Root)
verisignserverca (Secure Server CA)
thawtepremiumserverca (Thawte Premium Server CA)
Has anyone had any success signing JAR files with these? I'm puzzled. I thought that a server certificate could only be used to run a secure (SSL) server. Can you sign JAR files with it?
Likewise, can I use a 'personal' CA to sign a JAR? Are there any drawbacks in doing so?
We need to sign JARs but we can't use the standard
Thawte or Verisign root CA. Both of them expire in a
year. Since my company does not own the servers on
which our application is installed, we can't revisit
our customer's servers just because the signed JAR
files have expired.You have a misunderstanding here. The expiry date is related to the certificate only, not the jar file signed with it. I.e. you can only sign things with your certificate before the expiry date. After the expiry date, you will not be able to use that certificate anymore for signing. But everything you have signed, while the certificate was valid, will remain valid. Eventhough the certificate will expire, whatever is signed with it remains valid for eternity.
When I look at the list of Root CAs that Web Start
recognizes, I see some personal CAs and and server
CAs.
thawtepersonalfreemailca (Thawte Personal Freemail
CA)
thawtepersonalbasicca (Thawte Personal Basic)
thawtepersonalpremiumca (Thawte Personal Premium CA)
thawteserverca (Thawte Server CA)
cybertrust (GTE CyberTrust Root)
verisignserverca (Secure Server CA)
thawtepremiumserverca (Thawte Premium Server CA)
Has anyone had any success signing JAR files with
these? I'm puzzled. I thought that a server
certificate could only be used to run a secure (SSL)
server. Can you sign JAR files with it?Yes, I have had success with the Thawte Personal Freemail Certificate. As the name suggests, it is free. What is not obvious from the name is that it can also be used to sign jar files. To obtain the certificate is free, however you will want to become a trusted member, which you can only become by being notarized. This will most likely cost you a bit (cost me ca. US$12). Then your certificate will be fully trusted. Here is a writeup on how to use your free Thawte certificate for jar signing: http://www.dallaway.com/acad/webstart/.
Likewise, can I use a 'personal' CA to sign a JAR? Are
there any drawbacks in doing so?See above.
Good luck.
- Daniel
Similar Messages
-
I have a 3Gs iPhone, which I've had for 1 year 83 days and the home button si faulty. I have checked on the internet and this seems to be a common issue.
I have a contract with O2 for 24 mouths due to run out March 2012 but the phone was bought from Carphone Warehouse.
I have been to O2 and they say it's out of the Apple warranty and therefore I will have to pay for a repair. They also have now said because it came from CPW they will do nothing for me.
I have been to Apple and they say the same thing that I have to pay for the repair as it's out of warranty
My query is surely I can expect a phone that has been looked after should last longer than 83 days? Therefore under the sale of good act I should get a repair or replacement for free???
I am now paying for a contract where the phone doesn't work!Good luck with that. Most of the world does not have anything like what you believe your "sale of goods act" is supposed to do. It sounds like you expect it to extend the warranty on a Product from Apple until your contract with an entirely different company is complete. I think you'll find that you are misinterpreting that law. The exception may be if you purchased the phone from the carrier and the law is written in such a way as to require them to replace the device if it fails during the term of the contract, though I doubt that will be the case either.
-
ExecuteNonQuery() lasts longer than DB procedure itself - OpsSqlAllocCtx()
We have intermittent issue where ExecuteNonQuery() call to a specific procedure lasts longer than execution of DB procedure itself in the database.
DB procedure (from DB log)
//start
audsid:167658693 sid:479 2822843410 13-MAY-11 HUB 10 HUB TEST HUB.STREAMINGAPI.GetMessages(p) 0 -->05/13/2011 01:27:47.779000000<-- 5049977, 5049977, 5049977
//end
audsid:167658693 sid:479 2822843452 13-MAY-11 HUB 10 HUB TEST HUB.STREAMINGAPI.GetMessages(p) 3 -->05/13/2011 01:27:48.779000000<-- 1
//start
audsid:167658693 sid:479 2822843462 13-MAY-11 HUB 10 HUB TEST HUB.STREAMINGAPI.GetMessages(p) 0 -->05/13/2011 01:27:50.248000000<-- 5049977, 5049977, 5049977
---> the call itself lasts 1 sec (start-end) -- but look at next call (2nd start) ---> the total time it lasts for ExecuteNonQuery() to finish as we see in the APP LOG is from 1st start to 2nd start (see APP LOG)
APP LOG
2011-05-13 13:27:47,855 [12] DEBUG SqlTrace - Calling database.
2011-05-13 13:27:50,319 [12] DEBUG SqlTrace - ExecuteNonQuery finished.
ODP TRACE for this ExecuteNonQuery() call:
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleConnection::Open()
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleConnection::CreateDbCommand()
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleCommand::OracleCommand(3)
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleCommand::OracleCommand(3)
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleConnection::CreateDbCommand()
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleCommand::CommandText(): set
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleCommand::CommandText(): set
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleCommand::CommandTimeout(): set
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleCommand::CommandTimeout(): set
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleClientFactory::CreateParameter()
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleClientFactory::CreateParameter()
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleParameter::OracleParameter(1)
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleParameter::OracleParameter(1)
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleParameterCollection::Add(1)
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleParameterCollection::Add(1)
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleParameterCollection::Add(5)
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleParameter::OracleParameter(4)
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleParameter::OracleParameter(4)
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleParameterCollection::Add(2)
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleParameterCollection::Add(2)
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleParameterCollection::Add(5)
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleParameterCollection::Add(5)
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleParameter::OracleParameter(4)
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleParameter::OracleParameter(4)
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleParameterCollection::Add(2)
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleParameterCollection::Add(2)
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleParameterCollection::Add(5)
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleParameterCollection::Add(5)
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleParameter::OracleParameter(4)
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleParameter::OracleParameter(4)
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleParameterCollection::Add(2)
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleParameterCollection::Add(2)
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleParameterCollection::Add(5)
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleClientFactory::CreateParameter()
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleClientFactory::CreateParameter()
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleParameter::OracleParameter(1)
TIME:2011/05/13-13:27:47:854 TID: df0 (EXIT) OracleParameter::OracleParameter(1)
TIME:2011/05/13-13:27:47:854 TID: df0 (ENTRY) OracleParameterCollection::Add(1)
TIME:2011/05/13-13:27:47:855 TID: df0 (EXIT) OracleParameterCollection::Add(1)
TIME:2011/05/13-13:27:47:855 TID: df0 (ENTRY) OracleCommand::ExecuteNonQuery()
TIME:2011/05/13-13:27:47:855 TID: df0 (ENTRY) OpsConAddRef(): (eec79c0)=250378688
TIME:2011/05/13-13:27:47:855 TID: df0 (EXIT) OpsConAddRef(): RefCount=17 RetCode=0 Line=3320 (eec79c0)=250378688
TIME:2011/05/13-13:27:47:855 TID: df0 (ENTRY) OpsSqlPrepare2(): (eec79c0)=250378688
TIME:2011/05/13-13:27:47:855 TID: df0 (ENTRY) OpsErrAllocCtx(): (eec79c0)=250378688
TIME:2011/05/13-13:27:47:855 TID: df0 (EXIT) OpsErrAllocCtx(): RetCode=0 Line=197 (eec79c0)=250378688
TIME:2011/05/13-13:27:47:855 TID: df0 OpsSqlPrepare2(): SQL: Begin EVHub.EVStreamingAPI.GetMessages(:v0, :v1, :v2, :v3, :v4); End;
TIME:2011/05/13-13:27:47:855 TID: df0 (EXIT) OpsSqlPrepare2(): RetCode=0 Line=547
TIME:2011/05/13-13:27:47:855 TID: df0 (ENTRY) OpsSqlExecuteNonQuery(): (eec79c0)=250378688
TIME:2011/05/13-13:27:47:855 TID: df0 (ENTRY) OpsDecGetValCtxFromInteger()
TIME:2011/05/13-13:27:47:855 TID: df0 (EXIT) OpsDecGetValCtxFromInteger(): RetCode=0 Line=847
TIME:2011/05/13-13:27:47:855 TID: df0 (ENTRY) OpsDecGetValCtxFromInteger()
TIME:2011/05/13-13:27:47:855 TID: df0 (EXIT) OpsDecGetValCtxFromInteger(): RetCode=0 Line=847
TIME:2011/05/13-13:27:47:855 TID: df0 (ENTRY) OpsDecGetValCtxFromInteger()
TIME:2011/05/13-13:27:47:855 TID: df0 (EXIT) OpsDecGetValCtxFromInteger(): RetCode=0 Line=847
TIME:2011/05/13-13:27:47:855 TID: df0 (ENTRY) OpsSqlAllocCtx(): (eec79c0)=250378688
----- THIS IS WHERE THE SLOWNESS IS THAT WE NEED HELP ON
TIME:2011/05/13-13:27:47:855 TID: df0 (EXIT) OpsSqlAllocCtx(): RetCode=0 Line=138 (eec79c0)=250378688
TIME:2011/05/13-13:27:50:318 TID: df0 (ENTRY) OpsDecToInteger()
----- THIS IS WHERE THE SLOWNESS IS THAT WE NEED HELP ON
TIME:2011/05/13-13:27:50:318 TID: df0 (EXIT) OpsDecToInteger(): RetCode=0 Line=1000
TIME:2011/05/13-13:27:50:318 TID: df0 (ENTRY) OpsDecToInteger()
TIME:2011/05/13-13:27:50:318 TID: df0 (EXIT) OpsDecToInteger(): RetCode=0 Line=1000
TIME:2011/05/13-13:27:50:318 TID: df0 (ENTRY) OpsDecToInteger()
TIME:2011/05/13-13:27:50:318 TID: df0 (EXIT) OpsDecToInteger(): RetCode=0 Line=1000
TIME:2011/05/13-13:27:50:318 TID: df0 (ENTRY) OpsSqlFreeCtx()
TIME:2011/05/13-13:27:50:318 TID: df0 (EXIT) OpsSqlFreeCtx(): RetCode=0 Line=163
TIME:2011/05/13-13:27:50:318 TID: df0 (EXIT) OpsSqlExecuteNonQuery(): RetCode=0 Line=877
Can anyone help - does anyone know what is happening here to account for this behavior...? Please help.Also please read this article
http://blogs.msdn.com/sqlserverstorageengine/archive/2008/03/23/minimal-logging-changes-in-sql-server-2008-part-2.aspx ---Minimal Logging changes in SQL Server 2008
Best Regards,Uri Dimant SQL Server MVP,
http://sqlblog.com/blogs/uri_dimant/
MS SQL optimization: MS SQL Development and Optimization
MS SQL Consulting:
Large scale of database and data cleansing
Remote DBA Services:
Improves MS SQL Database Performance
SQL Server Integration Services:
Business Intelligence -
I saw that icloud has a limitation of 5 minutes on the videos :
Is there a way to automatically upload videos that last more than 5 minutes from iphoto/photos ?
I'm trying to find a way to store my photo library on the cloud, AND keep to acces to each photos/videos from the net (not just storing the .iphotolibrary on the icloud folder) but i cant do it for the videos of more than 5min ...I believe you are probably referring to iCloud photo sharing. If you wait a while, the next version of Yosemite will include the new Photos application which will sync video through the iCloud photo library feature.
-
When I click Sign, Adobe Reader XI v 11.0.4, my only option is Sign with Certificate, how do I also get the “I need to Sign” option that allow me to place a signature? I need screen shots to develop a customized training pamphlet.
Hi,
Please update the Reader to 11.0.07 and then check the options.
Go to Help -> Check for updates.
Regards,
Anoop -
I cannot log and transfer clips that are longer than 5 minutes.
Hello,
I am trying to log and transfer several clips from my Canon Vixia HF S11 camcorder. When I attempt to transfer a clip into Final Cut Express that is longer than 5 minutes, it stops right when it is about to finishe and says, "Unknown Error." Due to the volume of my HD footage, I am working on an external hard drive with ample space. Could this be the problem? Should I attempt to transfer these longer clips onto my MacBook hard drive? Thank you very much for you help.
-SamanthaUse Disk Utility (in your Applications>Utilities folder) to erase the drive and reformat as Mac OS Extended. There are differing opinions regarding whether or not you should select journaling. With media drives, I tend not to. (This process will, of course, erase what's on the drive presently.)
-
I use photo stills in my iMovie. I want them to last longer than a minute, but when I input 1:45:00, to signify one minute and 45 seconds, it doesn't accept it. What's the proper way to input it?
There are 30 frames in one second of video. So you can specify down to the frame level, which is 1/30th of a second.
Is the Duration box switching to some other time every time you type in 1:45:00?
For instance this is a 5 second clip plus 3 frames. To get this set properly I would type in 1:45:00, then click done. I don't know if it is different under older versions of iMovie, as I'm using iMovie '11 for thisi example. -
Making a signed JAR that expires
How can I make a signed JAR that expires in a week, therefore, not letting anyone launch the program after a week?
Yeah sure if you want to call it that.
-
Does OSX Lion work well with a Macbook Pro that's more than a year old?
Does OSX Lion work well with a Macbook Pro that's more than a year old?
hardygirlz wrote:
I've seen a lot of bad reviews...
Realize that people that aren't having problems tend not to "brag" that they're doing fine. Those that are having problems are usually very vocal. So a lot of the "bad reviews" may just be those that had a problem, not necessarily the real experience of the millions of people that are doing just fine.
...and I'm afraid to download it and my computer is 2009, yours runs smoothly?
I'm running Lion fine on my 2008 MBP (4,1. 2.4GHz C2D, 4GB) and late 2009 Mini (2.0GHz C2D, 8GB.) Minimum RAM for Lion is 2GB, but IMHO you really want 4GB. If you have a lot of apps open (or have demanding apps like Photoshop,) then get more RAM if you machine can handle it.
Also, make sure the rest of your apps or drivers are up to date before upgrading. Incompatible drivers for things like printers and such are what I've found to cause a lot of stability problems. -
I have data that is in basic generic text file format that needs to be converted into Excel spreadsheet format. The data is much longer than 65536 lines, and in my code I haven't been able to figure out how to carry over the data into the next column. Currently the conversion is done manually and generates an Excel file that has a total of 30-40 full columns of data. Any suggestions would be greatly appreciated.
Thanks,
Darrick
Solved!
Go to Solution.No need to use nested For loops. No need for any loop anyway. You just have to use a reshape array function. The picture below shows how to proceed.
However, there may be an issue if your element number is not a multiple of the number of columns : zero value elements will be added at the end of the last column in the generated 2D array. Now the issue depends on the way you intend store the data in the Excel spreadsheet : you could convert the data as strings, replace the last zero values with empty strings, and write the whole 2D array to a file (with the .xls extension ) using the write to spreadsheet function. Only one (minimal) problem : define the number of decimal digits to be used;
or you could write the numeric array directly to a true Excel spreadsheet, using either the NI report generation tools or ActiveX commands, then replace the last elements with empty strings.
We need more input from you to decide how to solve these last questions.
Message Edité par chilly charly le 01-13-2009 09:29 PM
Chilly Charly (aka CC)
E-List Master - Kudos glutton - Press the yellow button on the left...
Attachments:
Example_VI.png 10 KB -
I am reading back values of several waveforms that were saved to disk using the write to spreadsheet vi. Some of the data sets are longer than others eg. 35 seconds vs 45 seconds. All have the same sample rate.
See the code segment below. If I select the larger files first then all the data will show. If I select a smaller file first the larger ones will be truncated to the size of the small file. I am using LV 7.0.
Attachments:
codesnippet.vi 41 KBI needed to make some grammatical/ nomelclature changes, But, Could not edit the previous post.
so posting again
"Thats because you are inserting into an array of a predefined size.
For ex,
When you try inseting a 1D array 'A' of 50 elements as row 1 of a 2 D array of 40 elements(in row 0 ), only only the first 40 elements will get insetred into 2 D array. You lose the last 10 elements of array 'A'
To avoid this, I suggest you use XY graph( of course you have to create an x axis with the index of each element in the inserted array and plot on xy graph).
Any doubts, do get back"
regards
Dev -
Need to download JAR files from more than ONE HTTP-server ?
Hello,
We have a need to download JAR files for an application, from more than ONE HTTP-server, i.e. any specified HTTP-server in an extremely secure network.
Does a solution exist for this requirement ? Is it possible to design a solution our selfes for this problem ?
Best Regards
PeterWe have a need to download JAR files for an
application, from more than ONE
HTTP-server, That can be done using the extension element
from within the resources element of the main JNLP.
http://java.sun.com/j2se/1.5.0/docs/guide/javaws/developersguide/syntax.html#resources
The extension element should refer to another JNLP
(on the other site) that refers to the Jars. The jar files
in any such (foreign) JNLP need to be signed, and the
JNLP files should declare itself as a <component-desc>.
For any level of detail on using extensions/components,
download the spec. mentioned in the second paragraph
of that section linked above. Unfortunately I can find no
web browsable form of the information.
Here is an example though..
http://www.javasaver.com/testjs/jws/04/glclock.jnlp
This (sandboxed) screenaver demo comes off my
javasaver site. It refers to the JOGL API via an
extension element in the JNLP, that points directly
to the JOGL site. You might notice the security
warning that is produced mentions..
Name: JOGL
Publisher: sun microsystems, inc
Source: https://jogl.dev.java.net
..i.e. any specified HTTP-server in an
extremely secure network. I do not know about an extremely secure network,
but if it is OK to launch a normal JNLP for an
application with a 'main()' from the server, I guess
it should be OK to launch extensions off it - you
might need to set up some tests. -
Have completed a project in project library that is 41 minutes long ( 2.1 GB ) . When I click share and attempt to create an iDVD disk , an error notice appears claiming the new project is too long. Have created other iMovie/DVD disks in the past which were longer than 41 minutes. What corrections do I need to make to ensure I can create a DVD disk for this 41 minute ( 2 GB ) project... I am using a 17 MacBook pro for this project.
PS - have found other posts indicating that clips smaller than 2s or sometimes 5s, or "short files" can cause this. Modern style editing often uses short takes ! Good grief I cannot believe Apple. Well I deleted a half a dozen short sections and can export, but now of course the video is a ruined piiece of junk and I need to re-do the whole thing, the sound etc. which is basically taking as much time as the original. And each time I re-do it I risk again this lovely error -50 and again trying to figure out what thing bugs it via trial and error instead of a REASONABLE ERROR MESSAGE POINTING TO THE CLIP IT CAN'T PROCESS. What a mess. I HATE this iMovie application - full of BUGS BUGS BUGS which Apple will not fix obviously, since I had this product for a few years and see just hundreds of hits on Google about this error with disappointed users. Such junk I cannot believe I paid money for it and Apple does not support it with fixes !!!
If anyone knows of a GOOD reasonably priced video editing program NOT from APPLE I am still looking for suggestions. I want to do more video in future, but obviously NOT with iMovie !!! -
Can't burn a cd that's longer than 8-9 minutes
I suddenly can't burn cds longer than 8-9 minutes; this has never been a problem before! Or: has something changed since the last update?
On a mac you can send the photos to imovie, iphoto, or iDVD if you have that. The only kind of video disc PSE can make (on either platform) is the horrible VCD format, which was never very good and is fast becoming obsolete. It's getting harder to find dvd players that can read that format.
-
How to find the urls that are longer than 260 characters
Hi
I'm getting an error using Restore-SPSite thats most likely caused by URL's longer than 260 characters. How can I find out which URL's are too long? It's a huge site collection so it's not an option to search manually.
Regards
Jakobcheck this blog, allows you to take an inventory of all files in your web application and flag those files where the path (or URL) is longer than 260 characters.
Locating files and pages with URLs that are too long for SharePoint
Also check this: http://social.technet.microsoft.com/Forums/en-US/881d62e6-08c3-43b6-a9f1-96161ffa0201/how-to-write-a-powershell-script-to-find-the-url-path-length-of-all-the-files-and-folders-in?forum=sharepointdevelopmentprevious
Please remember to mark your question as answered &Vote helpful,if this solves/helps your problem. ****************************************************************************************** Thanks -WS MCITP(SharePoint 2010, 2013) Blog: http://wscheema.com/blog
Maybe you are looking for
-
Apply custom name not working correctly
Wow... I am beginning to lose hope, again, that FCPX will ever be relatively bug free. When applying custom clip names in 10.1, the software is very buggy and gets some things flat wrong. For example, if you create a custom clip name with a counter
-
10 bit way of editing photos: GeForce + 10bit LCD + linux?
Hi, does anybody have a working 10 bit / channel video output setup with GeForce cards and 10 bit LCDs [3]? Nvidia GeForce drivers for linux (only) should support it for some time now [1], supposedly X supports it as well and only some (well, many) a
-
Hi I didn't get a reply to my query about using fonts from XDO_LOBS. So I have another question - is the documentation for the class mentioned in the subject available? It seems that this class gets fonts, data templates and templates from XDO_LOBS a
-
Sort Date format in Oracle XML Publisher
Hi All, I have a requirement like trx_date sort. i have taken trx_date in dd-mon-yyyy format. now i given sort option like this.. <?for-each:G_TRX_ORDER_NUMBER?><?sort:TRANSACTION_TYPE?><?sort:DUE_DATE;'ascending';data-type=date?> <?sort:TRX_NUMBER?>
-
Error Using OEM to create export files
Hi I get the following error whenever I try to use OEM to create export files (login to OS as oracle user -> http://localhost:1158/em -> login as SYSTEM -> Maintenance -> Export to Export Files (with oracle user as host credentials) >>> Validation Er