Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Security / Cryptography / X509Certificates / TimestampInformation.cs / 1305376 / TimestampInformation.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== using System; using System.Diagnostics; using System.Security.Cryptography; using System.Security.Permissions; namespace System.Security.Cryptography.X509Certificates { ////// Details about the timestamp applied to a manifest's Authenticode signature /// [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class TimestampInformation { private CapiNative.AlgorithmId m_hashAlgorithmId; private DateTime m_timestamp; private X509Chain m_timestampChain; private SignatureVerificationResult m_verificationResult; private X509Certificate2 m_timestamper; //// [System.Security.SecurityCritical] internal TimestampInformation(X509Native.AXL_AUTHENTICODE_TIMESTAMPER_INFO timestamper) { m_hashAlgorithmId = timestamper.algHash; m_verificationResult = (SignatureVerificationResult)timestamper.dwError; ulong filetime = ((ulong)((uint)timestamper.ftTimestamp.dwHighDateTime) << 32) | (ulong)((uint)timestamper.ftTimestamp.dwLowDateTime); m_timestamp = DateTime.FromFileTimeUtc((long)filetime); if (timestamper.pChainContext != IntPtr.Zero) { m_timestampChain = new X509Chain(timestamper.pChainContext); } } internal TimestampInformation(SignatureVerificationResult error) { Debug.Assert(error != SignatureVerificationResult.Valid, "error != SignatureVerificationResult.Valid"); m_verificationResult = error; } ///// /// Hash algorithm the timestamp signature was calculated with /// public string HashAlgorithm { get { return CapiNative.GetAlgorithmName(m_hashAlgorithmId); } } ////// HRESULT from verifying the timestamp /// public int HResult { get { return CapiNative.HResultForVerificationResult(m_verificationResult); } } ////// Is the signature of the timestamp valid /// public bool IsValid { get { // Timestamp signatures are valid only if they were created by a trusted chain return VerificationResult == SignatureVerificationResult.Valid || VerificationResult == SignatureVerificationResult.CertificateNotExplicitlyTrusted; } } ////// Chain of certificates used to verify the timestamp /// public X509Chain SignatureChain { [StorePermission(SecurityAction.Demand, OpenStore = true, EnumerateCertificates = true)] get { return m_timestampChain; } } ////// Certificate that signed the timestamp /// public X509Certificate2 SigningCertificate { [StorePermission(SecurityAction.Demand, OpenStore = true, EnumerateCertificates = true)] get { if (m_timestamper == null && SignatureChain != null) { m_timestamper = SignatureChain.ChainElements[0].Certificate; } return m_timestamper; } } ////// When the timestamp was applied, expressed in local time /// public DateTime Timestamp { get { return m_timestamp.ToLocalTime(); } } ////// Result of verifying the timestamp signature /// public SignatureVerificationResult VerificationResult { get { return m_verificationResult; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Run.cs
- TypeUtils.cs
- SettingsAttributeDictionary.cs
- SqlTypesSchemaImporter.cs
- ReadOnlyDataSourceView.cs
- NavigatorInput.cs
- GroupByQueryOperator.cs
- Query.cs
- Button.cs
- DataFormat.cs
- CompilationRelaxations.cs
- Font.cs
- ToolStripGrip.cs
- ComponentChangedEvent.cs
- DBSchemaTable.cs
- ValueChangedEventManager.cs
- ResponseStream.cs
- CSharpCodeProvider.cs
- CuspData.cs
- SoapAttributes.cs
- AssertFilter.cs
- CatalogPartCollection.cs
- RSAPKCS1SignatureDeformatter.cs
- StringSource.cs
- InternalConfirm.cs
- SHA1.cs
- SessionKeyExpiredException.cs
- EntityModelSchemaGenerator.cs
- ObjectToken.cs
- WebBrowserProgressChangedEventHandler.cs
- MTConfigUtil.cs
- CategoriesDocumentFormatter.cs
- TypeUnloadedException.cs
- ViewStateException.cs
- CurrentTimeZone.cs
- DesignRelation.cs
- PenLineCapValidation.cs
- AssemblySettingAttributes.cs
- CellPartitioner.cs
- RedistVersionInfo.cs
- XPathSelectionIterator.cs
- URI.cs
- UnsafeNativeMethods.cs
- WorkflowDesignerColors.cs
- ResourceDisplayNameAttribute.cs
- DebugInfoExpression.cs
- BezierSegment.cs
- ShowExpandedMultiValueConverter.cs
- CultureInfoConverter.cs
- TranslateTransform3D.cs
- SqlCharStream.cs
- SchemaComplexType.cs
- EmptyEnumerator.cs
- BitmapInitialize.cs
- System.Data_BID.cs
- WebPartMenuStyle.cs
- CookieParameter.cs
- followingquery.cs
- RuntimeHandles.cs
- ResourceReferenceExpressionConverter.cs
- SchemeSettingElement.cs
- HttpHandlerAction.cs
- ScheduleChanges.cs
- QilSortKey.cs
- ClientFormsAuthenticationCredentials.cs
- Random.cs
- BitmapEffectState.cs
- State.cs
- GeometryDrawing.cs
- DataBoundControlAdapter.cs
- SessionStateSection.cs
- thaishape.cs
- WebPartCatalogCloseVerb.cs
- NTAccount.cs
- SharedPersonalizationStateInfo.cs
- CqlParserHelpers.cs
- KnownBoxes.cs
- TraceLog.cs
- PtsPage.cs
- DesignerSerializerAttribute.cs
- UnsafeMethods.cs
- MasterPageParser.cs
- EventWaitHandleSecurity.cs
- IIS7WorkerRequest.cs
- TextServicesCompartmentEventSink.cs
- VerificationAttribute.cs
- QueryOptionExpression.cs
- PropertyGroupDescription.cs
- DeviceContext2.cs
- TemplateControlBuildProvider.cs
- SqlConnectionHelper.cs
- CustomErrorsSection.cs
- GenericWebPart.cs
- AuthenticationModuleElement.cs
- FontFamily.cs
- RealizationContext.cs
- GroupQuery.cs
- DataGridViewCellLinkedList.cs
- TypeBinaryExpression.cs
- PropertyDescriptor.cs