Verification error on adobe using pdftron sample - pdftron

If you run the PDFTron Digital Signature Sample that is in the node-js library. You get a sample document that works on FoxIT Reader for validation, but will throw an error on Adobe. This is what Adobe gives me. It also doesn't allow for me to validate it in Adobe reader with that issue. This is in the default certification sample, we're looking for a work around to get it to work with most major PDF readers not just foxit. Any clues anyone?
Error during signature verification.
The format of this signature is not supported by this signature method. You may require a newer version of the signature handler.
This is the sample code: https://www.pdftron.com/documentation/nodejs/guides/features/signature/certify-pdf/

Thank you for letting us know about this. I believe you are hitting a typo that is in that sample.
Please change the following line from
sigDict.putName('SubFilter', 'adbe.pkcs7,detached');
to
sigDict.putName('SubFilter', 'adbe.pkcs7.detached');
Note the comma should be a period before the word detached.
The typo will be fixed shortly.
Also, note that new API is coming to our NodeJS API. Here is how that sample will look soon.
https://www.pdftron.com/documentation/linux/guides/features/signature/certify-pdf

Related

How to communicate properly with the Tendermint ABCI?

I have faced a lot of difficulty properly connecting to the Tendermint server as spawned by the abci Node.JS package.
I have tried following the documentation over at the official site, however I awlays get the error Error: invalid wire type 4 at offset 3 which appears to be an issue with the protobuf and decoding the request. When I console.log inside the library, it appears it tries to decode a substring of the request that makes no sense.
As an example, if I send a GET request with a long tx parameter on broadcast_tx_commit, the message it tries to decode is ET /broadcast_tx_commit?tx=0x017465 which is really weird. Any help would be greatly appreciated as this has been bugging me the past few days!
If you are using Tendermint outside of the Cosmos SDK, this tutorial might be helpful in separating the concerns: https://github.com/6thc/tendermint-cas-demo
I know that protobuf is currently being removed from Tendermint and the Cosmos SDK so the answer to your question might actually be very different in the near future too.

Integrating Optimizely with Adobe Analytics

I'm trying to Integrating Optimizely with Adobe Analytics. I have followed along with this guide: https://help.optimizely.com/Integrate_Other_Platforms/Integrating_Optimizely_with_Adobe_Analytics with no success.
The props(prop51) and evars(eVar51) that i'm choosing via the experiment integrations in Optimizely are never sent. I check via the wasp chrome add-on and via the Adobe account.
All other data (props & eVars) that we set manually are sent.
We are not using s_code.js but AppMeasurement.js version: 1.5.1. I don't know if we are using custom s variable. I guess not. So I have follow the guide and used:
window.optimizely.push("activateSiteCatalyst"); with no success.
I have also tried: window.optimizely.push(['activateSiteCatalyst', {"sVariable": s_c_il[0].account)}]); where s_c_il[0].account holds the account name, but with no success.
Tried following this guid as well: http://digitalinsightsworld.com/tag-manager/dtm/optimizely-implementation-check-list-adobe-sitecatalyst/
Does anyone have an idea of what is wrong? Or how to go forward?
Br,
Johan
I had the same problem... We're using AngularJS 1.4.x. The default value for sVariable is 's'. Generally stated, Optimizely expects window.s to be the omniture object. Angular abstracts this object to its own injectable item, and is therefore not a standard DOM/element off window. My quick hack was to set window.s = s from within the Omniture directive. I'm still working out the best location to do this assignment, but I can verify that I now see the custom eVar for Optimizely outgoing in our Omniture call (using Omnibug). Hope this helps!

Can I change the logo of an IBM community through the REST API

I found this piece of documentation that suggests that we should be able to PUT a new logo in a community.
But the documentation also states that it is ignored on input.
Before we start intensive troubleshooting, it would help if someone could confirm that we can indeed change the logo programmatically.
Use the web address in the href attribute to obtain an image that represents the community's logo. The following operations are supported:
GET
Use the web address in the href attribute to obtain the community logo image file. If a logo has not been set, a default image is returned.
PUT
Use the web address in the href attribute to upload a new community logo image and replace the current one.
Attention: Specify the content type of the image file being sent with the request. For example: "Content-Type: image/jpeg"
This is the source:
http://www-10.lotus.com/ldd/appdevwiki.nsf/xpDocViewer.xsp?lookupName=IBM+Connections+4.5+API+Documentation#action=openDocument&res_title=Community_entry_content_ic45&content=pdcontent
Using the IBM SBT SDK 1.0.1 I was able to call CommunityService.updateCommunityLogo(new File("/path/to/my.jpeg"), communityUuid) without any error, but the JPEG I referred to was not set as the community logo however.
Maybe the size was not correct?
Sorry for this "non-answer", but it may help other people anyway: To fix the SBT SDK code at least :-/
UPDATE 2014-JUN-25:
I took a deeper dive into the http.wire logs, and surprisingly the call seems to trigger a logout (or session invalidation) without further notice. The REST request receives 200 OK but also some JavaScript looking like "hey guy, confirm who you are", and the browser prompts with a full-window Connections login prompt, although the LTPA token should not have timed out yet.
This is annoying, too, for another reason: If Connections is used inside a framed UI, the "main" application is wiped away after that, forcing Connections to full-window mode.
With IBM SBT SDK 1.0.3 (as of July 17, 2014) and IC5 it is working now. I had no opportunity to test this feature with 1.0.3 and IC45 however, but with 1.0.2 and IC5 it did NOT work; so it seems that something in 1.0.3 has been fixed here.
#mpjjonker you can look at CommunityService.java
the method updateCommunityLogo talks about using /communities/service/html/image URL to put the image.
String url = "/communities/service/html/image";
getClientService().put(url, parameters, headers, file, ClientService.FORMAT_NULL);

Google Places Request Returning "REQUEST_DENIED"

I realise their are numerous questions regarding this issue and I have read them all, but I still cannot get this to work!
I have:
Created my project in the API console
Enabled Places API in services
Created a new IOS API Key (repeated this step twice now)
Tried the request with sensor=true, sensor=false and no sensor param at all
Tried HTTP and HTTPS
Those are all the fixes I found within the existing questions regarding this issue, have I missed anything? Here is a sample URL I am using to test:
https://maps.googleapis.com/maps/api/place/textsearch/json?sensor=true&query=Test%20sd&key=MYKEY
And yes, I am replacing 'MYKEY' with my actual API key :).
I am developing an IOS app using monotouch but I don't really see how that is relevant as I can't get this to work in the browser either.
Any help would be hugely appreciated! Been stuck on this all day now.
I believe you want to be using your "Simple API Access" key (not an Android/iOS key). The documentation mentions this as the last step.
https://developers.google.com/places/documentation/#Authentication
I tried your sample URL with my Simple API Access key and it was successful.

Node.js NTLM HTTP Authentication, how to handle the 3 types

I'm trying to get NTLM Authentication working w/ Node.js. I've been reading this ( http://davenport.sourceforge.net/ntlm.html#theNtlmMessageHeaderLayout ). I send the header and get a Base64 authentication header.
I tried converting it from Base64 to UTF8 by making a new Buffer with base64 encoding and then calling toString('utf8') which returns a string something like
NTLMSSP\u0000\u0001\u0000\u0000\u0000\u0007�\b�\u0000
This is where I need help. I understand the NTLMSSP\u0000 is the null terminated signature, but and what the rest is supposed to indicate, but to me it's just garbage. It's unicode characters, but how am I supposed to get actual data out of that? I may be converting it incorrectly, which may be adding to my troubles, but I'm hoping someone can help.
Have a look at http://www.innovation.ch/personal/ronald/ntlm.html
What you receive is a Type-2 Message. The pages explains it in a very practical way. You have to extract the server challenge (nonce) and the server flags.
I just implemented a module for node.js to do just that: https://github.com/SamDecrock/node-http-ntlm
Have you looked at NTLMAPS?
You may be able to solve your problem by using it as a proxy server, but if you really want to implement NTLM auth in Javascript, then NTLMAPS provides lots of working code to study.
Sam posted the best resource I've seen for understanding what's going on.
jclulow on GitHub seems to have implemented it in a Samba library he built.
Take a look here:
https://github.com/jclulow/node-smbhash
under lib\ntlm.js you can see how he's handled the responses.
I've built client a couple of months ago using javascript, ntlm.js. Maybe that can help you get along. It was based on the documentation # innovation.ch and Microsofts own official documentation (see the references on the github page).

Resources